nunitnunit-2.5

How to do exception handling with nunit and moq?


I am trying to use nunits new way of exception handling but I am finding it hard to find information on it and how to also use it with moq.

I have right now moq that throws a exception on a mocked method but I don't know how to use nunit to catch it and look at it.


Solution

  • There's a few different ways to do it; I use Assert.Throws.

    var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
    

    e.g.

    var exception = Assert
                    .Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
    

    You can then query the exception object further if you want, e.g.

    Assert.That(exception.Message, Text.Contains("paramname");