我是新來的單元測試實踐,我遇到的問題是在下面的代碼中,方法TestEnums
它似乎停止/打破迭代當第一個斷言失敗,我的意思是,它只顯示測試瀏覽器中的一個失敗的錯誤消息。單元測試,自動顯示集合中的每個對象的斷言結果
我想適應這個代碼顯示所有失敗的斷言在測試資源管理器,也就是說,每一個測試枚舉失敗EnumHasRepeatedValues
方法的斷言。
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports System.Reflection
<TestClass()>
Public Class Application
<TestMethod()>
Public Sub TestEnums()
Dim ass As Assembly = Assembly.Load("Elektro.Application")
Dim types As IEnumerable(Of Type) =
From t As Type In ass.GetTypes() Where t.IsEnum
For Each t As Type In types
EnumHasRepeatedValues(t)
Next
End Sub
Public Sub EnumHasRepeatedValues(ByVal t As Type)
Assert.AreEqual([Enum].GetValues(t).Length,
[Enum].GetNames(t).Length,
String.Format("Enum {0}.{1} has defined repeated values.",
t.Namespace, t.Name))
End Sub
End Class
您是否閱讀過關於使用數據源的[this](https://msdn.microsoft.com/en-us/library/ms182527.aspx)? –
@Pro Grammer感謝評論,但是,我不確定這種解決方案是否可以幫助我實現這一點,有必要像MSDN示例中那樣生成一個數據庫? – ElektroStudios
從我所見過的內容可以將[CSV,XML或本地數據源](http://stackoverflow.com/a/14139050/6144259)嵌入到測試庫中。它不一定是一個完整的數據庫。我還發現[this](http://stackoverflow.com/a/13710788/6144259)可能更有幫助 –