如果我們做一個在MS C#單元測試中,如何斷言發生了ArgumentException?
throw new ArgumentException("Cannot do that");
你怎麼斷言這ArgumentException
發生與微軟的測試框架?
如果我們做一個在MS C#單元測試中,如何斷言發生了ArgumentException?
throw new ArgumentException("Cannot do that");
你怎麼斷言這ArgumentException
發生與微軟的測試框架?
您可以與[ExpectedException]
屬性裝飾你的單元測試:
[ExpectedException(typeof(ArgumentException))]
[TestMethod]
public void Foo()
{
throw new ArgumentException("foo");
}
不要問關於雖然斷言異常消息:-)
因此,爲什麼單元測試不應該測試多個事情。如果你做了Try/Catch,然後用Assert處理捕獲到的異常呢? – 2010-07-13 17:31:38
嗯,當然你可以這樣做,但在這種情況下,你將寫作,讓我數一下,另外7行代碼(如果你把'{'放在同一行上),以及每行代碼你寫的是隱藏一個潛在的錯誤,並降低了代碼的可讀性,所以爲什麼當你可以避免它呢:-) – 2010-07-13 17:34:21
可能重複[C#:如何使用斷言(單位測試)來驗證是否引發了異常?](http://stackoverflow.com/q/933613/299327)。 – 2013-01-25 19:12:49