请考虑以下代码:
[Test]
public void WidgetTest()
{
foreach (Widget widget in widgets)
{
Assert.AreEqual(0, widget.SomeValue);
}
}
如果其中一个断言失败,我将收到一条非常无用的错误消息,如下所示:
1) Test Failure : WidgetTest.TestSomeValue
Expected: 0
But was: 1
at WidgetTest.TestSomeValue()
所以,问题是,如何让NUnit显示更多有用的信息,例如小部件的名称,或循环的迭代等?即使是行号也会更有帮助,因为这是以自动方式运行的,我希望能够在不调试代码的情况下发现失败的断言。
答案 0 :(得分:13)
您也可以使用带有消息的重载:
Assert.AreEqual(0, widget.SomeValue,
"Widget " + widget + " should have SomeValue of 0");