SQL Server の単体テストの実行を構成する方法

 

テスト プロジェクトを構成することによって、SQL Server 単体テストの実行方法を制御するいくつかの設定を指定できます。これらの構成設定は、テスト プロジェクトの app.config ファイルに格納されます。このファイルを直接編集する場合は、新しい値が [テストの構成] ダイアログ ボックスに表示されます。

ソリューションには複数のテスト プロジェクトを含めることができます。各テスト プロジェクトには 1 つの app.config ファイル (つまり、1 セットの構成設定) が含まれます。その結果、ソリューションには、実行の構成が異なる複数セットの単体テスト (テスト プロジェクトごとに 1 セット) を含めることができます。

これらの設定は、テスト対象のデータベースにテストから接続する方法、データベース プロジェクトからそのデータベースにスキーマを配置する方法を制御します。

  • データベース接続。この設定を使用して、テスト対象のデータベースへの接続に使用される接続文字列を指定します。詳細については、「接続文字列の指定」を参照してください。

  • スキーマ配置。データベース プロジェクトは、データベースのオフライン表現です。データベース プロジェクトはデータベース オブジェクトの構造を表しますが、データは含まれません。データベース プロジェクトでスキーマを変更した後、実際のデータベースでテストできます。スキーマ配置の手順では、テストするデータベース オブジェクトがデータベース プロジェクトからテストを実行するデータベースにコピーされます。スキーマの配置の詳細については、「データベース スキーマの配置」を参照してください。

    注意

    テストは、ソリューション フォルダーではなく、ローカル ハード ディスク上の別のフォルダーで実行されます。テスト配置の特性を構成できますが、通常、単体テスト用に構成する必要はありません。テスト配置の詳細については、「テストの実行」を参照してください。

接続文字列の指定

データベース接続文字列を指定するには

  1. ソリューション エクスプローラーで単体テスト プロジェクトを右クリックし、[SQL Server テスト構成] をクリックします。

    [SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスが表示されます。

  2. [データベース接続] では、次の操作を実行できます。

    • 単体テストを実行するデータベース接続をクリックします。

    • テストの実行を別のデータベース接続に対して検証する場合は、[セカンダリ データ接続を使用して単体テストを検証] チェック ボックスをオンにして、一覧でデータベース接続をクリックします。

    • [新しい接続] をクリックし、いずれかの一覧に接続を追加します。[接続の編集] をクリックして、既存の接続の設定を変更することもできます。

    この手順では、ExecutionContext 接続文字列を作成します。この接続文字列は、単体テストでテスト スクリプトを実行するために使用されます。セカンダリ接続も指定した場合は、PrivilegedContext 接続文字列も作成されます。この接続は、単体テストのテスト スクリプト以外のデータベースとの対話をテストするために使用されます。詳細については、「接続文字列とアクセス許可の概要」を参照してください。

  3. [OK] をクリックして、[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスを閉じます。

  4. テスト プロジェクトをリビルドして、構成の変更を適用します。

データベース スキーマの配置

データベース プロジェクトのスキーマをデータベースに配置するには

  1. ソリューション エクスプローラーでデータベース プロジェクトを右クリックして、[ビルド] をクリックします。

    データベース プロジェクトを作成すると、Transact-SQL スクリプトが生成されます。このスクリプトをデータベースに対して実行すると、そのデータベース内にデータベース プロジェクトの構造が再作成されます。

  2. 構成するテスト プロジェクトを選択します。

  3. ソリューション エクスプローラーで単体テスト プロジェクトを右クリックし、[SQL Server テスト構成] をクリックします。

    [SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスが表示されます。

  4. [配置] では、次の操作を実行できます。

    • テストの実行前に、対象のデータベース プロジェクトに加えたスキーマ変更を確実にコミットするには、[単体テストの実行前に自動的にデータベース プロジェクトを配置] チェック ボックスをオンにします。

    • [データベース プロジェクト] で、配置するデータベース プロジェクトをクリックするか、参照ボタンをクリックして別のプロジェクトを参照します。データベース プロジェクト ファイルの拡張子は .dbproj です。

    • [配置構成] で、配置の対象のプロジェクト構成をクリックします。選択肢は [デバッグ][既定値]、または [リリース] です。ただし、単位テストの構成を作成した場合は、その構成もオプションとして表示されます。

  5. [OK] をクリックして、[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスを閉じます。

    テスト実行の開始時に、手順 1. で生成された Transact-SQL スクリプトが実行されます。このアクションにより、ターゲット データベースにスキーマが配置されます。

  6. 単体テスト プロジェクトをリビルドして、構成の変更を適用します。

参照

SQL Server の単体テストの作成と定義
SQL Server の単体テストを使用したデータベース コードの検証