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