我正在尝试使用nunits新的异常处理方式,但我发现很难找到有关它的信息以及如何将它与moq一起使用。
我现在有一个moq,它会在一个模拟方法上抛出异常,但我不知道如何使用nunit来捕获它并查看它。
答案 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块中并捕获抛出的特定异常?