您如何测试专用方法内部的异常,该异常由公共void使用?

时间:2019-01-08 16:07:03

标签: c# unit-testing nunit

正如标题所述,我正在测试是否在私有方法内引发了异常,然后由公共void访问该异常。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用Assert.Throws来检查是否引发了异常。如果未引发异常,则测试将失败:

var foo = new Foo();
Assert.Throws<MyException>(() => foo.DoSomething());

此测试要求抛出MyException。如果引发了另一个异常(甚至来自MyException的异常),则测试将失败。

如果要测试异常或从该异常派生的任何内容,则可以使用Assert.Catch

var foo = new Foo();
Assert.Catch<MyException>(() => foo.DoSomething());