【发布时间】:2010-11-19 16:41:00
【问题描述】:
我有一个简单的单元测试,用于测试验证函数是否发现了特定的验证问题。验证项返回一个带有 Item & Message 属性的简单对象。我已经为此函数编写了一个单元测试,但即使我知道该函数按预期工作,它总是失败。
<TestMethod()> Public Sub ContractNote_ValidateForManualInputTest_TradeOrderValueComparison()
'Can't get this test to work even though validation works!
Dim CN As ContractNote = New ContractNote
Dim Trade As New TradeOrder
Trade.TradeValue = 100
With CN
.CNTradeDate = Date.Today
.CNTradePrice = 1
.CNTradeUnits = 1
.CNTradeValue = 1
.FundManagerReference = "_zzz_"
.SkandiaCompanyOrderID = "xxx"
.ParentTradeOrder = Trade
End With
Dim ActualItems As System.Collections.Generic.List(Of ValidationItem) = CN.ValidateForManualInput
If actualitems.Count > 0 Then
Dim item As ValidationItem = New ValidationItem("Value", "Must match trade value")
CollectionAssert.Contains(ActualItems, item, "")
End If
Assert.AreNotEqual(0, ActualItems.Count)
End Sub
我已经在 ValidationItem 上实现了 IComparable(我有一个单独的单元测试来确认这个工作)。我是否正确使用 CollectionAssert?
【问题讨论】:
-
包裹在try catch中看看有没有错误。
-
CollectionAssert.Contains 或 Assert.AreNotEqual 是否失败?
标签: .net vb.net unit-testing