Friday, January 22, 2010

ReSharper and NUnit - A word of warning


A lot of people prefer the shiny ReSharper test runner over the NUnit GUI. The main reason is of course that it is embedded in the VS IDE.

In some cases this means trouble.

Let's look in this test:

[ExpectedException(ExpectedMessage = "my error", MatchType=MessageMatch.Contains)]
public void myUnitTest()
  throw new Exception("my error");

Does this test pass or fail? It depends who you ask.

ReSharper says:

NUnit says:

The reason is that the ReSharper runner does not know the "ExpectedException" attribute of NUnit. Who knows, maybe it's just a version thing and some x.y.z version of ReSharper knows how to work with the u.v.w version of NUnit. The lesson is that when you have two clocks you never know what the real time is...


What's next? get this blog rss updates or register for mail updates!


Grummle said...

This appears to be fixed in later versions. I've been using it with ExpectedException attribute and its been hunky dory.

Yaron Naveh said...


Thanks for the important update.