TestContext クラスの使用
更新 : 2007 年 11 月
単体テストでは、TestContext クラスをさまざまな目的で使用できます。よくある用途は次のとおりです。
TestContext クラスは単体テストで、配置ディレクトリへのパスなど、単体テストに提供された情報を格納するために使用できます。詳細については、「ユニット テストの構造」を参照してください。
ASP.NET 開発サーバー上で実行する Web サービスをテストするための単体テストで使用します。この場合、TestContext は Web サービスの URL を格納します。詳細については、「Web サービスのテスト」を参照してください。
ASP.NET 単体テストで、Page オブジェクトへのアクセスを取得するために使用します。詳細については、「ASP.NET 単体テストの操作」を参照してください。
データ ドリブン単体テストでは、データ行へのアクセスを提供するために、TestContext クラスが必要です。詳細については、「データ ドリブン単体テストの操作」、「データ ドリブン ユニット テストのコーディング」、および「チュートリアル : データ ソースを定義するための構成ファイルの使用」を参照してください。
TestContext の取得
単体テストを実行する場合、単体テストを含むテスト クラスに TestContext プロパティが定義されていると、TestContext 型のインスタンスの実体が自動的に提供されます。単体テスト フレームワークによって、テストの実行中に使用される TestContext のメンバが自動的に追加されます (TestContext のメンバの詳細については、「TestContext」を参照してください)。つまり、TestContext 型をコード内でインスタンス化したり派生させたりする必要はありません。必要に応じて使用を開始してください。IntelliSense サポートが用意されています。
テスト クラスの中には、TestContext プロパティが自動定義されないものもあります。定義されるかどうかは、テストの作成方法によって決まります。
TestContext プロパティが自動定義される場合
単体テストをコードから生成すると、TestContext プロパティは自動的に定義されます。単体テストの生成方法の詳細については、「方法 : 単体テストを生成する」を参照してください。
TestContext プロパティが自動定義されない場合
自動生成以外にも、単体テストを作成する方法がいくつかあります。次に示すような方法でテストを作成すると、TestContext プロパティは自動定義されません。
新しいテスト クラスを手入力でコーディングする。
新しい単体テスト ファイルをプロジェクトに追加する。たとえば、[テスト] メニューの [新しいテスト] をクリックし、[新しいテストの追加] ダイアログ ボックスで [単体テスト] を選択します。
これらの場合、TestContext プロパティを手動で追加する必要があります。単体テストのコーディングの詳細については、「方法 : 単体テストを編集する」を参照してください。
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;
}
}
テスト フレームワークがプロパティを自動設定し、それを単体テストで使用できます。
参照
処理手順
概念
チーム環境の Web サイトと Web サービスをテストする
参照
TestContext