Share via


方法: データ ドリブン単体テストを作成する

単体テストを設定すると、値をテスト メソッドに入力するのではなく、データ ソースから値を取得することができます。 単体テストでは、データ ソース内の各行に対して繰り返し実行が行われます。 これにより、さまざまな入力内容を単一のテストの実行で簡単にテストできるようになります。

データ ソースから値を取得する単体テストを設定するには、2 つのフェーズがあります。 最初は単体テスト メソッドとデータ ソースとの間の接続を、単体テストのプロパティを使用して確立することです。 2 番目のフェーズは、データ ソース内の該当する列から値を取得するためのメソッドの変数を割り当てることです。 これは、テスト メソッド自体のロジックで行います。

データ ドリブン単体テストの例

次の図に、2 つの番号を追加するテストと、名前を姓と連結するテストの 2 つの単体テストを示します。 これらの単体テストは、テストの値をデータベースから取得するように設定されます。

データ ドリブン単体テスト

データ ドリブン単体テストの例

  1. この行は、DataSource 属性と接続文字列を提供します。 接続文字列の正確な内容は、使用するデータ ソースの種類によって異なります。 この例では、Access データベースを使用しています。

  2. 値がデータベース テーブルから取得されたら、適切な型に変換する必要があります。 この例では、最初の単体テストでデータベースからの値は文字列に変換され、2 番目の単体テストではそれらが整数に変換されます。

  3. TestContext.DataRow プロパティから、データの取得元の行が単体テストに示されます。 この場合、テーブルの最初の行から始まり、最後の行に到達するまで連続してデータが取得されます。 このプロパティの詳細については、「TestContext」を参照してください。

  4. 列名から、データの取得元となる列が単体テストに示されます。

[テスト結果] ウィンドウのテストをダブルクリックすることで、そのテストが使用した各データ行の結果の詳細を確認できます。

データ ドリブン単体テストの結果の詳細

データ ドリブン単体テストの詳細結果

単体テストとデータ ソースとの間の接続を確立します。

これは、データ ソースを使用するための、単体テストを設定する最初のフェーズです。 このフェーズでは、単体テスト メソッドとデータ ソースとの間の接続を確立します。

このプロシージャに、接続を作成するために単体テストのプロパティを使用する方法を示します。 ただし、app.config ファイルを作成してそのファイルに接続情報を追加することで、接続を作成することもできます。 app.config ファイルを使用する利点は、単体テスト自体には変更を加えずに、データベースの場所を変更できることです。 app.config ファイルを作成および使用する方法の詳細については、「チュートリアル : データ ソースを定義するための構成ファイルの使用」を参照してください。

注意

データ接続文字列に詳しい場合、プロパティ ウィンドウを使用する代わりに、[TestMethod()] の最初のかっこの後に、要素データ接続文字列を入力できます。

[DataSource(データ接続文字列をここへ), TestMethod()]

単体テストをデータ ソースに接続するには

  1. データ ソースを使用するテスト メソッドを含むソリューションを開きます。

  2. [テスト] メニューの [ウィンドウ] をポイントし、[テスト ビュー] をクリックします。

  3. [テスト ビュー] ウィンドウで、データ ソースを使用する単体テストを右クリックし、[プロパティ] をクリックします。

  4. [プロパティ] ウィンドウで、[データ接続文字列] をクリックし、省略記号 (...) をクリックします。

  5. テスト データ ソース作成ウィザードを開き、データ接続を作成するための手順に従って操作します。

    接続文字列は、[TestMethod()] 要素の最初のかっこの後、単体テストに追加されます。

変数の値をデータ ソースから取得するため、変数を割り当てます。

これは、データ ソースを使用するための、単体テストを設定する 2 番目のフェーズです。 このフェーズでは、データ ソース内の該当する列から値を取得するためのメソッドの変数を割り当てます。

データ ソースからの値に変数を割り当てるには

  1. データ ソースを使用してテスト メソッド内の変数を特定するためのテスト メソッドを含む単体テスト ファイルを開きます。

  2. データ ソースから取得する各変数に対し、TestContext.DataRow["NameOfColumn"] という構文を使用します。

注意

前の例に示すように、場合によってはデータ ソースからテスト コード プロジェクトのデータ型用に、データ型を変換する必要があります。

単体テストを実行し、結果を表示します。

データ ドリブン単体テストは、他の単体テストと同様の方法で実行します。 [テスト結果] ウィンドウのテストをダブルクリックすることで、そのテストが使用した各データ行の結果の詳細を確認できます。

データ ドリブン単体テストを実行して結果を表示するには

  1. 単体テストの任意の場所を右クリックし、[テストの実行] をクリックします。

  2. テストの実行後、[テスト結果] ウィンドウ内のテストをダブルクリックし、[データ ドリブン テスト結果] ウィンドウの各テストの反復処理の結果を表示します。

参照

参照

TestContext

概念

単体テストの構造

方法: 単体テストを作成して実行する