使用 TestContext 類別
更新:2007 年 11 月
您可以在單元測試中,針對幾個目的使用 TestContext 類別。以下是此類別最常見的使用:
在任何單元測試中,因為 TestContext 類別會儲存提供給單元測試的資訊,例如部署目錄的路徑。如需詳細資訊,請參閱單元測試的結構。
在單元測試中,測試 ASP.NET 程式開發伺服器上執行的 Web 服務。在此情況中,TestContext 會儲存 Web 服務的 URL。如需詳細資訊,請參閱測試 Web 服務。
在 ASP.NET 單元測試中,取得對 Page 物件的存取。如需詳細資訊,請參閱使用 ASP.NET 單元測試。
在資料驅動的單元測試中,由於 TestContext 類別提供對資料列的存取,因此它是必要的。如需詳細資訊,請參閱使用資料驅動的單元測試、為資料驅動的單元測試編碼和逐步解說:使用組態檔定義資料來源。
取得 TestContext
當您執行單元測試時,如果包含您單元測試方法的測試類別具有已定義的 TestContext 屬性,則會自動提供 TestContext 型別的具象執行個體。單元測試架構會自動填入 (Populate) TestContext 的成員,供您在測試期間的各個階段使用 (如需 TestContext 之成員的詳細資訊,請參閱 TestContext)。這表示您不需要在您的程式碼中執行個體化或衍生 TestContext 型別。您可以立即開始使用它,並且支援 IntelliSense。
並非每一個測試類別都會自動定義 TestContext 屬性。不過,會根據您建立測試的方式,而予以定義。
當 TestContext 屬性為自動定義時
從自動定義 TestContext 屬性的程式碼產生單元測試。如需單元測試產生方式的詳細資訊,請參閱 HOW TO:產生單元測試。
當 TestContext 屬性不是自動定義時
除了自動產生之外,您還有其他方式可以建立單元測試。如果您以下列方式建立測試,您的測試類別就不會自動定義 TestContext 屬性:
手動方式編寫新的測試類別。
將新單元測試檔案加入至專案。例如,您可以選擇 [測試] 功能表上的 [新增測試] 選項,然後選取 [加入新測試] 對話方塊中的 [單元測試],完成此項作業。
在這些情況下,您必須手動加入 TestContext 屬性。如需單元測試程式碼撰寫的詳細資訊,請參閱 HOW TO:撰寫單元測試。
TestContext 範例
若要使用 TestContext,請在您的測試類別中建立成員和屬性,如下列 C# 中的範例所示。
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
測試架構會自動設定屬性,然後您就可以在單元測試中使用此屬性。
請參閱
工作
概念
參考
TestContext