次の方法で共有


SQL Server 単体テストを使用してデータベース コードを確認する

SQL Server 単体テストを使用して、データベースのベースライン状態を確立し、その後データベース オブジェクトに対して行った変更を確認できます。

データベースのベースライン状態を確立するには、テスト プロジェクトを作成し、データベース オブジェクトに対して動作する Transact-SQL のセットを書き込みます。 これらのテストを使用すると、分離された開発環境で、それらのオブジェクトが期待どおりに機能するかどうかを確認できます。 SQL Server の単体テストは、SQL Server データベース プロジェクトを使用したオフライン データベース開発と組み合わせて使用できます。 詳細については、「 SQL データベース プロジェクトとは」を参照してください。 SQL Server の単体テストのベースライン セットを取得したら、これらのテストを使用して、バージョン管理への変更をチェックインする前に、データベースが正しく動作していることを確認できます。

任意のデータベース オブジェクトに対する変更を検証するテストを作成できます。 さらに、データベース関数、トリガー、およびストアド プロシージャをテストする Transact-SQL コードのスタブを自動的に生成できます。

データベース プロジェクトを開かなくても、SQL Server 単体テストを作成して実行できます。 ただし、プロジェクトから特定のデータベース オブジェクトをテストするテスト スクリプトを自動生成する場合は、テストするオブジェクトを含むデータベース プロジェクトを開く必要があります。

自分またはチーム メンバーがデータベース スキーマを変更するときに、これらのテストを使用して、変更によって既存の機能が壊れているかどうかを確認できます。 SQL Server 単体テストを作成して、ソフトウェア開発者が作成するソフトウェア単体テストを補完します。 アプリケーションの全体的な動作を確認するには、両方のテスト セットを完了する必要があります。

単体テストでは、プロシージャが成功することが予想される場合はプロシージャが成功し、プロシージャが失敗することが予想される場合は失敗することを確認できます。 適切なエラーが発生したテストは、負のテストと呼ばれます。

Visual Studio エディションでの SQL Server 単体テストのサポート

SQL Server Data Tools の 2012 年 12 月の更新プログラムで追加された SQL Server 単体テスト機能を使用すると、Visual Studio 2010 Professional および Visual Studio 2012 Professional 以降のエディションで SQL Server 単体テストを作成、変更、実行できます。

最新の SQL Server Data Tools 更新プログラムを確実にインストールするには、[ 更新プログラムの確認] ダイアログ ボックスにアクセスします。

Visual Studio 2010 および Visual Studio 2012 統合 SQL Server Data Tools シェルは、SQL Server 単体テストをサポートしていません。

一般的なタスク

次の表では、このシナリオをサポートする一般的なタスクの説明と、それらのタスクを正常に完了する方法の詳細へのリンクを示します。

一般的なタスク 関連する参照先
実践的な練習をする: 入門チュートリアルに従って、簡単な SQL Server 単体テストを作成して実行する方法を理解できます。 このチュートリアルには、負の SQL Server 単体テストの例が含まれています。 チュートリアル: SQL Server 単体テストを作成して実行する
SQL Server の単体テストを定義します。 独自のプロジェクトで SQL Server 単体テストを作成する必要があります。 そのプロジェクトの設定を構成し、各テストに対して 1 つ以上のテスト条件を定義します。 SQL Server 単体テストの作成と定義

SQL Server 単体テストでテスト条件を使用する
SQL Server の単体テストを実行します。 1 つ以上の単体テストを定義したら、それらを実行し、問題をデバッグして、テスト結果を確認します。 SQL Server の単体テストを実行する
テストのグループを管理する (Visual Studio 2010): 通常は同時に実行する必要がある場合は、テストをグループにまとめる場合があります。 テスト リストは引き続きサポートされていますが、新しいテスト グループの場合は、代わりにテスト カテゴリを検討する必要があります。 たとえば、トリガーまたは特定のスキーマ内のすべてのオブジェクトのテストのテスト カテゴリを作成 できます テストカテゴリを定義してテストをグループ化する

テストリストを定義してテストをグループ化する
テスト プロジェクトとテストをバージョン 管理にチェックインします 。テストを実行し、それらが正しく機能するかどうかを確認したら、チームのすべてのメンバーがテストを実行できるように、テスト プロジェクトと関連するすべてのファイルをバージョン 管理にチェックインする必要があります。 SQL Server データベース プロジェクトと共にテスト プロジェクトをバージョン管理にチェックインすることで、データベーステストとデータベース テストの両方の互換性のあるバージョンを簡単に復元できます。 バージョン 管理にファイルを追加する

チェックインと保留中の変更ウィンドウの使用
カスタム テスト条件を定義します。 既定のテスト条件セットでカバーされていない動作をテストする必要がある場合は、カスタムテスト条件を作成できます。 これらの条件は、新しい条件を使用するテストを実行するチームのすべてのメンバーに配布する必要があります。 シナリオ: SQL Server 単体テストのカスタム テスト条件を定義する
既存の単体テストを更新する: 以前のバージョンの Visual Studio で作成されたデータベース単体テストがある場合は、このリリースでビルドして正常に実行する前に、それらをアップグレードする必要があります。

手記: 以前のバージョンの Visual Studio のデータベース プロジェクトとデータベース単体テスト プロジェクトの両方を含むソリューションを開くと、データベース プロジェクトをアップグレードするように求められます。 手動でアップグレードする必要があるデータベース単体テスト プロジェクトのアップグレードを求めるメッセージは表示されません。
データベース単体テストを含む古いテスト プロジェクトをアップグレードする
拡張性: SQL Server Data Tools を拡張するには、機能拡張を作成します。 SQL Server 単体テストのカスタム テスト条件
問題のトラブルシューティング: SQL Server 単体テストに関する一般的な問題のトラブルシューティング方法の詳細を確認できます。 SQL Server データベースの単体テストに関する問題のトラブルシューティング