2017-06-01 26 views
0

在C#中,我有一個方法,當某個條件成立時拋出一個異常。我應該寫一個單元測試方法來驗證。是否有一些Assert方法可以用於單元測試方法是否拋出異常?

由於被測試的方法沒有返回布爾值,因此我不能使用Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue方法。我可以使用哪種斷言方法?謝謝。

+0

@sasha_gud是,但這些答案是可怕的過時 – Justin

+0

如果您打開使用斷言庫,請參閱https://stackoverflow.com/questions/40543708/testing-exception-messages-with-應該 – TrueWill

回答

0

使用Assert.Throws,就像這樣:

​​

這個工作在的xUnit和MSTest的中的更高版本(安裝MSTest的作爲NuGet package起牀到最新版本)

+0

謝謝。 MSTest和'Microsoft.VisualStudio.TestTools'是否相互獨立? – Tim

+0

@Tim MSTest曾經是(仍然)隨Visual Studio一起發佈 - Visual Studio附帶的'Microsoft.VisualStudio.TestTools'程序集是MSTest的舊版本(不包括'Assert.Throws'方法)。較新版本的Visual Studio在創建測試項目時引用NuGet包,而不是那些程序集。 – Justin

相關問題