データベース単体テストの作成と定義
データベース単体テストを実行すると、スキーマ内の 1 つ以上のデータベース オブジェクトの変更により、データベース アプリケーションの既存の機能が損なわれていないかどうかを検証できます。 これらのテストは、ソフトウェア開発者が作成するソフトウェア単体テストを補完します。 両方の種類のテストを実行して、アプリケーションの動作を検証する必要があります。
空のテストを作成し、Visual Basic または Visual C# のカスタム コードを追加することで、スキーマ内の任意のオブジェクトの動作を検証できます。 別の方法として、特定の関数、トリガー、またはストアド プロシージャの動作を検証する場合、Transact-SQL スクリプトのスタブを自動的に生成できます。 意味のある結果を取得するには、スタブを生成後にカスタマイズする必要があります。
注意
データベース プロジェクトを開かずに、空のテストを作成し、それにコードを追加して実行できます。 ただし、関数、トリガー、またはストアド プロシージャをテストする Transact-SQL スタブは、テストするオブジェクトを含むプロジェクトを開かずに自動生成することはできません。
一般的なタスク
次の表に、このシナリオをサポートする一般的なタスクの説明と、それらのタスクを正常に完了する方法の詳細へのリンクを示します。
一般的なタスク |
関連する参照先 |
---|---|
実習を行う: 機能紹介のチュートリアルを実施することで、単純なデータベース単体テストの作成方法と実行方法を理解することができます。 |
|
データベース単体テストの詳細を理解する: データベース単体テストを構成するファイルとスクリプトについて、詳細に学習できます。 テスト条件と Transact-SQL アサーションを単体テスト内で使用する方法についても、学習できます。 |
|
1 つ以上のテスト プロジェクトを作成する: データベース単体テストは、テスト プロジェクト内に作成する必要があります。 テスト プロジェクトの作成前にデータベース単体テストを作成すると、テスト プロジェクトが自動的に作成されます。 たとえば、さまざまなテストのセット内で、さまざまなデータ生成計画、またはさまざまな配置構成を使用する場合、先にテスト プロジェクトを作成しておくことができます。 テスト プロジェクトを作成すると、そのプロジェクトで使用するテストの設定 (接続文字列など)、配置設定、およびデータ生成計画を構成できます。 |
|
単体テストの実行方法を構成する: テストを実行する対象のデータベースへの接続文字列、データ生成計画、および配置設定を指定できます。 これらの設定は、テスト プロジェクトを作成したときに最初に構成しますが、後で変更することもできます。 |
|
データベース単体テストを作成する: 関数、トリガー、またはストアド プロシージャの動作を検証するデータベース単体テストのために、Transact-SQL コード スタブを自動的に作成できます。 空のデータベース単体テストを作成し、別の種類のデータベース オブジェクトを作成するために後でコードを追加することもできます。 |
|
データベース単体テストのコードを記述する: 単体テストを作成したら、データベース オブジェクトをテストする Transact-SQL コードを記述します。 テストごとに、テストが合格か不合格かを判定するテスト条件を 1 つ以上定義します。 より複雑なテストのために、データベース プロジェクト内の Visual Basic コードまたは Visual C# コードを変更できます。 たとえば、単一のトランザクションのスコープ内で実行される単体テストを記述できます。 |
|
問題をトラブルシューティングする: データベース単体テストに関する一般的な問題をトラブルシューティングする方法についてさらに詳しく学習できます。 |
関連するシナリオ
データ ジェネレーターを使用したデータベースのテスト データの生成
データベース単体テストを実行する前に、データベースに代表的なデータを挿入することが必要な場合があります。 データ ジェネレーターを使用すると、開発者に本番データを開示せずに現実的なテスト データを作成できます。データベースの単体テストの実行
データベース単体テストを作成したら、テスト ビュー ウィンドウ、データベース単体テスト デザイナー、または Team Foundation ビルドを使用してそのテストを実行できます。データベース単体テストのカスタム条件の定義
カスタムのテスト条件を作成して、既定のテスト条件では検証できない動作をテストできます。