5

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

我现在有最小起订量,它在模拟方法上引发异常,但我不知道如何使用 nunit 来捕获它并查看它。

4

3 回答 3

14

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

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

例如

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

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

Assert.That(exception.Message, Text.Contains("paramname");
于 2009-09-06T19:10:20.863 回答
2

最好的提法是:[ExpectedException(typeof(ApplicationException))]上面的测试方法。

于 2013-02-25T06:06:49.883 回答
0

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

于 2009-09-06T19:07:30.603 回答