空の SQL Server の単体テストを作成する方法
データベース オブジェクトに単体テストを含めることで、データベース オブジェクトに加えた変更によって既存の機能が使用できなくなっていないかどうかを検証できます。次に、任意のデータベース オブジェクト用に SQL Server 単体テストを作成する手順について説明します。SQL Server Data Tools には、データベース関数、トリガー、およびストアド プロシージャの追加のサポートも含まれています。詳細については、「関数、トリガー、およびストアド プロシージャに対する SQL Server の単体テストを作成する方法」を参照してください。
最初の手順を使用して SQL Server の単体テストを作成すると、テスト プロジェクトが存在しない場合は自動的に作成されます。テスト プロジェクトが既に存在する場合は、新しいテストをプロジェクトの 1 つに追加するか、新しいテスト プロジェクトを作成するかを選択できます。テスト プロジェクトの詳細については、「SQL Server の単体テストのテスト プロジェクトを作成する方法」を参照してください。
SQL Server の単体テストを作成するには、次の 2 つの方法があります。
新しいテスト クラス内に新しい SQL Server の単体テストを作成する。
指定したテスト クラス内の SQL Server のすべての単体テストでは、同じ TestInitialize スクリプトと TestCleanup スクリプトが使用されます。他の単体テストとは別の TestInitialize スクリプトおよび TestCleanup スクリプトを使用する場合は、新しいテスト クラスを作成します。詳細については、「SQL Server の単体テストのスクリプト」を参照してください。
既存テスト クラス内に新しい SQL Server の単体テストを作成する。
クラス内の他の単体テストと同じ TestInitialize スクリプトと TestCleanup スクリプトを使用する場合は、この方法を選択します。
新しいテスト クラス内に SQL Server の単体テストを作成するには
[テスト] メニューの [新しいテスト] をクリックします。
[新しいテストの追加] ダイアログ ボックスが表示されます。
[テンプレート] の [SQL Server 単体テスト] をクリックします。
[テスト名] に、テストの名前を入力します。
[テスト プロジェクトに追加] で、このテストの追加先となる既存のテスト プロジェクトを選択します。テスト プロジェクトが存在しない場合、または新しいテスト プロジェクトを作成する場合は、[新しい <language> テスト プロジェクトの作成] を選択します。
[OK] をクリックします。
テスト プロジェクトが新しい場合、[新しいテスト プロジェクト] ダイアログ ボックスが表示されます。プロジェクト名を指定して、[OK] をクリックします。
テスト プロジェクトが新しい場合または構成されていない場合は、[SQL Server テスト構成 - <ProjectName>] ダイアログ ボックスが表示されます。このダイアログ ボックスでは、テスト プロジェクトに関する次の情報を構成できます。
テストの実行に使用するデータベース接続。
テスト結果の検証、データベースの配置、およびデータの生成に使用するデータベース接続。
単体テストを実行する前の、データベース プロジェクトと関連するスキーマ変更の特定のプロジェクト構成への自動配置。
詳細については、「SQL Server の単体テストの実行を構成する方法」を参照してください。
プロジェクトの構成情報を指定し、[OK] をクリックします。
または
[キャンセル] をクリックして、テスト プロジェクトを構成せずに単体テストを作成します。
SQL Server 単体テスト デザイナーに、空白のテストが表示されます。テスト プロジェクトの作成に指定した言語によって、Visual Basic または Visual C# のソース コード ファイルがテスト プロジェクトに追加されます。このファイルには、単体テスト用に SQL Server によって生成される SQL Server Data Tools の単体テスト クラスが含まれます。このテスト クラスには、SQL Server 単体テスト デザイナーを使用するか、テスト クラスの新しいテスト メソッドとしてのコードを通じて追加できる 1 つ以上の単体テストを含めることができます。
また、次の方法で新しいテストを追加することもできます。
ソリューション エクスプローラーでテスト プロジェクトを右クリックし、[追加] をポイントして、[新しいテスト] をクリックします。次に [SQL Server 単体テスト] を選択します。
SQL Server オブジェクト エクスプローラーで [単体テストの作成] をクリックします。
ソリューション エクスプローラーでこのファイルを選択すると、既定では、SQL Server 単体テスト デザイナーに表示されます。コードを表示するか、コードをカスタマイズして単体テストに機能を追加するには、ファイルを選択して右クリックし、[コードの表示] をクリックします。
既存テスト クラス内に SQL Server の単体テストを作成するには
SQL Server 単体テスト デザイナーで、既存の SQL Server 単体テスト クラスを開きます。ソリューション エクスプローラーで単体テストのソース コード ファイルをダブルクリックすることで、SQL Server 単体テスト デザイナーにアクセスできます。
ナビゲーション バーの正符号 (+) をクリックして、[単体テスト名を指定します] ダイアログ ボックスを表示します。
名前を入力し、[OK] をクリックします。
新しい SQL Server の単体テストは、ナビゲーション バーのドロップダウン リストで選択できるようになります。また、テスト クラスの新しいテスト メソッドとしても追加されます。コードでテスト メソッドを表示するには、クラス ファイルを選択して右クリックし、[コードの表示] を選択します。現在のテスト クラス ファイルの名前が、SQL Server 単体テスト デザイナーの上部にあるタブに表示されます。
テスト プロジェクトを構成し、単体テストを作成した後、次の手順を実行します。
Transact-SQL テスト スクリプトを追加します。
事前テストと事後テストのアクションを定義します。
スクリプトの結果を確認するためのテスト条件またはその他のアサート ステートメントを追加します。
注意
結果不確定のテスト条件は、すべてのテストに追加される既定の条件です。このテスト条件は、テストの検証が実装されていないことを示すために含まれています。このテスト条件は、他のテスト条件を追加した後に、テストから削除します。詳細については、「方法: データベース単体テストにテスト条件を追加する」を参照してください。