使用 TestContext 類別

更新:2007 年 11 月

您可以在單元測試中,針對幾個目的使用 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;
    }
}

測試架構會自動設定屬性,然後您就可以在單元測試中使用此屬性。

請參閱

工作

HOW TO:撰寫單元測試

概念

為資料驅動的單元測試編碼

在小組環境中測試網站和 Web 服務

參考

TestContext

其他資源

HOW TO:產生單元測試

使用 ASP.NET 單元測試

測試 Web 服務