次の方法で共有


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

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

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

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

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

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

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

接続文字列を指定する

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

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

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

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

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

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

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

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

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

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

データベース スキーマをデプロイする

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

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

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

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

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

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

  4. [ デプロイ] で、次の手順を実行できます。

    • [ テストを実行する前にデータベース プロジェクトを自動的に配置 する] チェック ボックスをオンにして、データベース プロジェクトに対して行ったスキーマ変更がテストの実行前にコミットされていることを確認します。

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

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

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

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

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