使用 Assert 類別
請使用 UnitTestingFramework 命名空間的 Assert 類別,以驗證特定功能。單元測試方法執行之方法的程式碼是您開發的程式碼,不過,它報告程式碼之行為的正確性,才可以包含 Assert 陳述式。
Assert 的種類
Microsoft.VisualStudio.TestTools.UnitTesting 命名空間提供數種 Assert 類別:
在測試方法中,您可以呼叫任何數目的 Assert 類別方法,例如 Assert.AreEqual()。Assert 類別具有許多可用的方法,而那其中有許多方法具有數個多載。
請使用 CollectionAssert 類別比較物件的集合,並驗證一或多個集合的狀態。
請使用 StringAssert 類別比較字串。這個類別包含各種有用的方法,例如 StringAssert.Contains、StringAssert.Matches 和 StringAssert.StartsWith。
每當測試失敗時,都會擲回 AssertFailedException 例外狀況。如果測試逾時、擲回未預期的例外狀況,或有 Assert 陳述式產生失敗的結果,則測試失敗。
每當測試產生結果不明的結果時,就會擲回 AssertInconclusiveException。一般而言,建議將 Assert.Inconclusive 陳述式加入至仍在處理的測試,以指示測試未準備好執行。
注意事項 |
---|
另一個方法就是,利用 Ignore 屬性 (Attribute) 標示未準備好執行的測試。不過,這個方法有個缺點,就是您無法根據尚未實作的測試數目輕易地產生報告。 |
如果您撰寫新的 Assert 例外狀況類別,那麼讓該類別繼承自基底類別 UnitTestAssertException,便可以更輕鬆地將例外狀況識別為判斷提示 (Assertion) 失敗,而非測試或實際執行程式碼所擲回的未預期例外狀況。
當您希望測試方法驗證預期由開發程式碼之方法擲回的例外狀況,確實是由該方法擲回,請使用 ExpectedExceptionAttribute 屬性裝飾測試方法。
請參閱
參考
Microsoft.VisualStudio.TestTools.UnitTesting