Share via


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

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

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

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

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

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

    Note

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

接続文字列の指定

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

  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 の単体テストを使用したデータベース コードの検証