単体テストによる既存のデータベース コードの検証
データベース単体テストを使用すると、データベースのベースラインとなる状態を設定した後、データベース オブジェクトに対してそれ以降行う変更を検証できます。 ベースラインとなる状態を設定するには、データベース プロジェクトを作成しておく必要があります。 次に、テスト プロジェクトを作成し、データベース オブジェクトを実行する一連の Transact-SQL (T-SQL) テストを記述します。 これらのテストを使用することにより、分離開発環境でこれらのオブジェクトが正しく動作することを検証してから、バージョン コントロールにチェックインできます。
データベース オブジェクトに対する変更を検証するテストを作成できます。 また、データベースの関数、トリガ、およびストアド プロシージャをテストする T-SQL コードのスタブを自動的に生成できます。
メモ : |
---|
データベース単体テストは、データベース プロジェクトを開かずに作成および実行できます。 ただし、T-SQL スクリプトを生成して特定のデータベース オブジェクトをテストする場合は、テストするオブジェクトを含むデータベース プロジェクトを開いておく必要があります。 |
作成者本人またはチーム メンバがデータベース スキーマを変更する場合は、これらのテストを使用して、既存の機能が変更によって破損していないかどうかを検証できます。 データベース単体テストを作成して、ソフトウェア開発者が作成するソフトウェア単体テストを補完します。 両方の一連のテストを完了して、アプリケーションの全体的な動作を検証します。
一般的なタスク
次の表に、このシナリオをサポートする一般的なタスクの説明と、それらのタスクを正常に完了する方法の詳細へのリンクを示します。
一般的なタスク |
関連する参照先 |
---|---|
実習を行う : 入門チュートリアルに従って作業すると、簡単なデータベース単体テストを作成して実行する方法を習得できます。 |
|
データベースにテスト データを設定する : データベース オブジェクトに対してテストを実行する前に、データベースにデータを設定する必要があります。 テスト データを作成する最も一般的な方法は、1 つまたは複数のデータ ジェネレータを使用することです。 また、配置後スクリプトの参照データをデータベースに設定したり、データベースのデータを別のデータベースのデータと同期したりできます。 |
|
データベース単体テストを定義する : 独自のプロジェクトにデータベース単体テストを作成する必要があります。 そのプロジェクトの設定を構成し、各テストに対して 1 つ以上のテスト条件を定義します。 |
|
データベース単体テストを実行する : 1 つ以上の単体テストを定義して実行し、問題が発生した場合はそれをデバッグして、テストの結果を調べます。 |
|
テストのグループを管理する : 複数のテストを同時に実行することが多い場合には、それらのテストをグループ化しておくことができます。 たとえば、トリガに関するテストや特定のスキーマのすべてのオブジェクトに対するテストが含まれたテスト リストを作成できます。 このようなグループをテスト リストと呼びます。 |
|
テスト プロジェクトとテストをバージョン コントロールにチェックインする : テストを実行してそれらが正常に動作するかどうかを検証した後は、テスト プロジェクトと関連するすべてのファイルをバージョン コントロールにチェックインして、チームのすべてのメンバがテストを実行できるようにする必要があります。 |
方法 : プロジェクトまたはソリューションをバージョン管理に追加する |
カスタム テスト条件を定義する : 既定の一連のテスト条件ではテストできない動作をテストする必要がある場合は、カスタム テスト条件を作成することができます。 新しい条件を使用してテストを実行するチームのすべてのメンバに、これらの条件を配布する必要があります。 |
|
既存の単体テストを更新する : 以前のバージョンの Database Edition で作成した単体テストがある場合、それらを正常にビルドして実行するには、このリリースへのアップグレードが必要です。 |
|
問題をトラブルシューティングする : データベース単体テストに関する一般的な問題をトラブルシューティングする方法についてさらに詳しく学習できます。 |
関連するシナリオ
チーム データベース開発の開始
データベースをテストする前に、データベースのオブジェクトと設定のオフライン表示が含まれたデータベース プロジェクトを作成する必要があります。データベースの反復開発の実行
データベースのベースラインとなる状態を設定した後、データベース オブジェクトの定義や更新などの反復開発タスクを実行します。 変更を検証したら、それらをチームで共有できます。データベースのビルドおよびステージング環境または稼動環境への配置
分離開発環境とテスト環境にすべてのデータベース コードを実装してテストした後、データベース管理者 (DBA) が、ステージング環境と稼働環境にこれらの変更を配置します。