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

Unit testing 测试方法抛出特定的异常.NET,unit-testing,exception-handling,mstest,assert,Unit Testing,Exception Handling,Mstest,Assert,如何在.NET中测试void方法是否引发特定异常 我有一个方法,根据输入抛出3种不同类型的异常。我如何测试我每次都得到当前的一个,并且测试它在通过正确的输入时不会抛出任何错误 谢谢 如果正在使用,则可以使用Assert.Throws()方法测试抛出的特定异常。中的示例 这不需要断言。如果引发预期的异常,测试将通过。如果没有,你的考试就不及格了。显然,使用上面的代码片段,您可以用异常类型替换希望测试的异常类型。Visual Studio内置的异常类型。请解释否决票。如果使用NUnit,我的回答是正

如何在.NET中测试void方法是否引发特定异常

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

谢谢

如果正在使用,则可以使用
Assert.Throws()
方法测试抛出的特定异常。

中的示例


这不需要断言。如果引发预期的异常,测试将通过。如果没有,你的考试就不及格了。显然,使用上面的代码片段,您可以用异常类型替换希望测试的异常类型。

Visual Studio内置的异常类型。请解释否决票。如果使用NUnit,我的回答是正确的;OP最初没有给出的信息。OP最初没有指定他们使用的是什么单元测试框架,所以如果他们使用NUnit,我的答案是有效的。因为他们只是在我给出答案后才指定单元测试框架,所以我不应该因此而受到惩罚。
[TestMethod]
[ExpectedException(typeof(StackOverflowException))]  //Update for your expected Exception Type
public void TestThatExpectsAnExceptionToBeThrown()
{
   // Test code here...
}