在本文中,您會了解 MSTest 用於協助您撰寫及塑造測試的 API 和慣例。
屬性
MSTest 使用自訂屬性來識別及自訂測試。
為了提供更清楚的測試架構概觀,本節將 Microsoft.VisualStudio.TestTools.UnitTesting 命名空間的成員整理成相關功能的群組。
注意
名稱以 "Attribute" 結尾的屬性項目,無論結尾有沒有 "Attribute" 都可以使用。 具有無參數建構函式的屬性,在撰寫時可以包含括號或不含括號。 下列程式碼範例的運作方式相同:
[TestClass()]
[TestClassAttribute()]
[TestClass]
[TestClassAttribute]
MSTest 屬性分為下列幾種類別:
- 用於識別測試類別和方法的屬性 (英文)
- 用於資料驅動測試的屬性 (英文)
- 用於提供初始化和清除的屬性 (英文)
- 用於控制測試執行的屬性 (英文)
- 公用程式屬性 (英文)
- 中繼資料屬性 (英文)
判斷提示
使用 Microsoft.VisualStudio.TestTools.UnitTesting 命名空間的 Assert 類別來驗證特定功能。 測試方法會執行應用程式程式碼中方法的程式碼,但是只有在包含 Assert 陳述式時,才會報告程式碼行為的正確性。
MSTest 判斷提示分為下列幾種類別:
TestContext 類別
類別 TestContext 提供測試執行的內容資訊和支援功能,使您更輕鬆地擷取有關測試執行的資訊並操作環境的各個面向。 它定義於 命名空間中 Microsoft.VisualStudio.TestTools.UnitTesting ,且可在使用 MSTest Framework 時使用。
如需詳細資訊,請參閱存取 TestContext 物件或 TestContext 成員。
測試私人成員
您可以為私人方法產生測試。 這個層代會建立私用存取子類別,該類別會具現化 PrivateObject 類別的物件。 PrivateObject 類別是一種包裝函式類別,會使用反映做為私用存取子程序的一部分。 PrivateType 類別很類似,不過是用來呼叫私用靜態方法,而不是呼叫私用執行個體方法。