NUnit expected exceptions

Viewed 56232

I've got a set of test cases, some of which are expected to throw exceptions. Because of this, I have have set the attributes for these tests to expect exceptions like so:

[ExpectedException("System.NullReferenceException")]

When I run my tests locally all is good. However when I move my tests over to the CI server running TeamCity, all my tests that have expected exceptions fail. This is a known bug.

I am aware that there is also the Assert.Throws<> and Assert.Throws methods that NUnit offers.

My question is how can I make use of these instead of the attribute I'm currently using?

I've had a look around StackOverflow and tried a few things none of which seem to work for me.

Is there a simple 1 line solution to using this?

4 Answers

NUnit has added a new Record.Exception method.

If you prefer to separate Acts and Asserts then

Act:

ex = Record.Exception(()={throw new Exception()} 

Assert:

Assert.NotNull(ex);
Related