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

Posted by Ian on Stack Overflow See other posts from Stack Overflow or by Ian
Published on 2010-06-14T16:02:01Z Indexed on 2010/06/14 16:12 UTC
Read the original article Hit count: 167

Filed under:
|
|
|

Consider the following code:

[Test]
public void WidgetTest()
{
    foreach (Widget widget in widgets)
    {
        Assert.AreEqual(0, widget.SomeValue);
    }
}

If one of the asserts fails, I will get a very unhelpful error message like the one below:

1) Test Failure : WidgetTest.TestSomeValue
  Expected: 0
  But was:  1

at WidgetTest.TestSomeValue()

So, the question is, how can I get NUnit to display more useful info, such as the name of the widget, or the iteration of the loop, etc? Even a line number would be more helpful, since this is run in automated manner and I'd like to be able to spot the failing assert without debugging into the code.

© Stack Overflow or respective owner

Related posts about c#

Related posts about unit-testing