C# 在循环中使用NUnit Assert时,如何在错误消息中显示更多信息?
考虑以下代码:C# 在循环中使用NUnit Assert时,如何在错误消息中显示更多信息?,c#,unit-testing,nunit,assert,C#,Unit Testing,Nunit,Assert,考虑以下代码: [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
[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显示更有用的信息,比如小部件的名称,或者循环的迭代,等等?即使是行号也会更有帮助,因为这是以自动方式运行的,我希望能够在不调试代码的情况下发现失败的断言。您也可以使用包含消息的重载:
Assert.AreEqual(0, widget.SomeValue,
"Widget " + widget + " should have SomeValue of 0");
如果有一种方式来装饰他自动生成的消息,而不是从头开始写自己的消息,那就太好了。