测试方法会抛出特定的异常.NET

时间:2010-11-09 21:48:09

标签: unit-testing exception-handling mstest assert

如何测试void方法在.NET中抛出特定异常。

我有一种方法可以根据输入抛出3种不同类型的异常。我如何测试我每次都获得当前的一个,并且还测试它在通过正确输入时不会抛出任何内容。

谢谢!

2 个答案:

答案 0 :(得分:12)

MSTest

中的示例
[TestMethod]
[ExpectedException(typeof(StackOverflowException))]  //Update for your expected Exception Type
public void TestThatExpectsAnExceptionToBeThrown()
{
   // Test code here...
}

这不需要断言。如果抛出预期的异常,则测试将通过。如果没有,你的测试失败了。显然,使用上面的代码片段,您可以将异常类型替换为您要测试的异常类型。

答案 1 :(得分:1)

如果您使用NUnit,则可以使用Assert.Throws()方法测试引发的特定异常。

相关问题