2010-11-09 45 views
2

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

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

谢谢!

+1

什么测试框架? – Finglas 2010-11-09 21:51:27

+0

内置于Visual Studio中。 – Scott 2010-11-09 21:54:50

回答

1

如果您使用的是NUnit,则可以使用Assert.Throws()方法来测试所抛出的特定异常。

+0

请解释downvote。如果使用NUnit,我的回答是正确的; OP最初没有提供的信息。 – Bernard 2010-11-11 14:18:24

+1

最初,OP没有指定他们使用的单元测试框架,所以如果他们使用NUnit,我的答案是有效的。由于他们只是在给出答案后才指定单元测试框架,所以我不应因此而受到惩罚。 – Bernard 2010-11-23 14:06:38

12

MSTest

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

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

相关问题