繁体   English   中英

在循环中使用NUnit Assert时,如何在错误消息中显示更多信息?

[英]How can I display more info in an error message when using NUnit Assert in a loop?

请考虑以下代码:

[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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM