SQL Server の単体テストの実行を構成する方法
テスト プロジェクトを構成することによって、SQL Server 単体テストの実行方法を制御するいくつかの設定を指定できます。これらの構成設定は、テスト プロジェクトの app.config ファイルに格納されます。このファイルを直接編集する場合は、新しい値が [テストの構成] ダイアログ ボックスに表示されます。
ソリューションには複数のテスト プロジェクトを含めることができます。各テスト プロジェクトには 1 つの app.config ファイル (つまり、1 セットの構成設定) が含まれます。その結果、ソリューションには、実行の構成が異なる複数セットの単体テスト (テスト プロジェクトごとに 1 セット) を含めることができます。
これらの設定は、テスト対象のデータベースにテストから接続する方法、データベース プロジェクトからそのデータベースにスキーマを配置する方法を制御します。
データベース接続。この設定を使用して、テスト対象のデータベースへの接続に使用される接続文字列を指定します。詳細については、「接続文字列の指定」を参照してください。
スキーマ配置。データベース プロジェクトは、データベースのオフライン表現です。データベース プロジェクトはデータベース オブジェクトの構造を表しますが、データは含まれません。データベース プロジェクトでスキーマを変更した後、実際のデータベースでテストできます。スキーマ配置の手順では、テストするデータベース オブジェクトがデータベース プロジェクトからテストを実行するデータベースにコピーされます。スキーマの配置の詳細については、「データベース スキーマの配置」を参照してください。
注意
テストは、ソリューション フォルダーではなく、ローカル ハード ディスク上の別のフォルダーで実行されます。テスト配置の特性を構成できますが、通常、単体テスト用に構成する必要はありません。テスト配置の詳細については、「テストの実行」を参照してください。
接続文字列の指定
データベース接続文字列を指定するには
ソリューション エクスプローラーで単体テスト プロジェクトを右クリックし、[SQL Server テスト構成] をクリックします。
[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスが表示されます。
[データベース接続] では、次の操作を実行できます。
単体テストを実行するデータベース接続をクリックします。
テストの実行を別のデータベース接続に対して検証する場合は、[セカンダリ データ接続を使用して単体テストを検証] チェック ボックスをオンにして、一覧でデータベース接続をクリックします。
[新しい接続] をクリックし、いずれかの一覧に接続を追加します。[接続の編集] をクリックして、既存の接続の設定を変更することもできます。
この手順では、ExecutionContext 接続文字列を作成します。この接続文字列は、単体テストでテスト スクリプトを実行するために使用されます。セカンダリ接続も指定した場合は、PrivilegedContext 接続文字列も作成されます。この接続は、単体テストのテスト スクリプト以外のデータベースとの対話をテストするために使用されます。詳細については、「接続文字列とアクセス許可の概要」を参照してください。
[OK] をクリックして、[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスを閉じます。
テスト プロジェクトをリビルドして、構成の変更を適用します。
データベース スキーマの配置
データベース プロジェクトのスキーマをデータベースに配置するには
ソリューション エクスプローラーでデータベース プロジェクトを右クリックして、[ビルド] をクリックします。
データベース プロジェクトを作成すると、Transact-SQL スクリプトが生成されます。このスクリプトをデータベースに対して実行すると、そのデータベース内にデータベース プロジェクトの構造が再作成されます。
構成するテスト プロジェクトを選択します。
ソリューション エクスプローラーで単体テスト プロジェクトを右クリックし、[SQL Server テスト構成] をクリックします。
[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスが表示されます。
[配置] では、次の操作を実行できます。
テストの実行前に、対象のデータベース プロジェクトに加えたスキーマ変更を確実にコミットするには、[単体テストの実行前に自動的にデータベース プロジェクトを配置] チェック ボックスをオンにします。
[データベース プロジェクト] で、配置するデータベース プロジェクトをクリックするか、参照ボタンをクリックして別のプロジェクトを参照します。データベース プロジェクト ファイルの拡張子は .dbproj です。
[配置構成] で、配置の対象のプロジェクト構成をクリックします。選択肢は [デバッグ]、[既定値]、または [リリース] です。ただし、単位テストの構成を作成した場合は、その構成もオプションとして表示されます。
[OK] をクリックして、[SQL Server テスト構成 -'<プロジェクト名>'] ダイアログ ボックスを閉じます。
テスト実行の開始時に、手順 1. で生成された Transact-SQL スクリプトが実行されます。このアクションにより、ターゲット データベースにスキーマが配置されます。
単体テスト プロジェクトをリビルドして、構成の変更を適用します。