2010-11-09 82 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... 
} 

實施例這不需要斷言。如果預期的異常被拋出,測試將通過。如果沒有,你的測試失敗了。顯然,使用上面的代碼片段,您可以將異常類型替換爲您要測試的異常類型。

相關問題