如何使用nunit和moq进行异常处理?

时间:2009-09-06 19:04:35

标签: nunit nunit-2.5

我正在尝试使用nunits新的异常处理方式,但我发现很难找到有关它的信息以及如何将它与moq一起使用。

我现在有一个moq,它会在一个模拟方法上抛出异常,但我不知道如何使用nunit来捕获它并查看它。

3 个答案:

答案 0 :(得分:14)

有几种不同的方法可以做到;我使用Assert.Throws。

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

e.g。

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

然后,您可以根据需要进一步查询异常对象,例如

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

答案 1 :(得分:2)

最好的方法是:[ExpectedException(typeof(ApplicationException))]高于测试方法。

答案 2 :(得分:0)

为什么不能将tryed方法调用括在try / catch块中并捕获抛出的特定异常?