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