方法 : データベース オブジェクトをデバッグする
データベース単体テストは、次の内容で構成されています。
C# または Visual Basic で記述された、1 つ以上のテスト条件。 テスト条件をデバッグするには、「方法 : テストの実行中にデバッグする」で説明されている単体テストのデバッグの手順に従います。
テストするデータベースのオブジェクトで実行される 1 つ以上の Transact-SQL スクリプト。 これらの Transact-SQL スクリプトはデバッグできません。
このトピックの各手順では、ストアド プロシージャ、関数、トリガーなど、特定のデータベース オブジェクトのデバッグ方法を説明します。 データベース オブジェクトをデバッグするには、次に示されたこれらの手順に従います。
テスト プロジェクトで [SQL Server デバッグを有効にする] をオンにします。
Transact-SQL スクリプトにブレークポイントを追加します。
データベース単体テストをデバッグします。 この手順では、デバッグ モードでテストを実行します。
テスト プロジェクトで SQL デバッグを有効にするには
ソリューション エクスプローラーを開きます。
ソリューション エクスプローラーで、テスト プロジェクトを右クリックし、[プロパティ] をクリックします。
テスト プロジェクトと同じ名前を持つプロパティ ページが開きます。
プロパティ ページの [デバッグ] をクリックします。
[デバッグを有効にする] の [SQL Server デバッグを有効にする] をクリックします。
変更内容を保存します。
テスト プロジェクトのデバッグを有効にするように実行コンテキストのタイムアウトを設定するには
[ファイル] メニューの [開く] をポイントし、[ファイル] をクリックします。
テスト プロジェクトが入っているフォルダーを参照し、app.config ファイルをダブルクリックします。
エディターで app.config ファイルを開きます。
次の例のように、ExecutionContext ノードを変更して、コマンド タイムアウトを追加します。
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
変更内容を保存します。
データベース単体テスト プロジェクトをリビルドします。
重要
プロジェクトをリビルドしないと、データベース単体テストを実行したときに、app.config に加えた変更が適用されず、デバッグが失敗します。
Transact-SQL スクリプトにブレークポイントを追加するには
[表示] メニューの [サーバー エクスプローラー] を開きます。
[データ接続] で、テストするデータベースのノードを展開します。
データベースのアイコンの隣に小さな赤い 'x' が表示されている場合、データベースへの接続が閉じています。 この場合は、データベースを右クリックし、[最新の情報に更新] をクリックします。 データベースへの接続を開くための資格情報を指定する必要がある場合もあります。
[ビュー]、[ストアド プロシージャ]、または [関数] ノードを展開して、デバッグするオブジェクトを探します。
デバッグするオブジェクトをダブルクリックします。
灰色のサイドバーをクリックして、ブレークポイントを設定します。
データベース単体テストをデバッグするには
[テスト ビュー] ウィンドウを開きます。
ブレークポイントを設定したデータベース オブジェクトが Transact-SQL スクリプトによって実行されるテストをクリックします。
[テスト ビュー] ウィンドウのツールバーで、[選択範囲のデバッグ] をクリックします。
データベース オブジェクトのブレークポイントに達するまで、単体テストがデバッグ モードで実行されます。
(省略可能) 別のデバッグ ウィンドウを開くには、[デバッグ] メニューの [ウィンドウ] をポイントして、[ブレークポイント]、[出力]、または [イミディエイト] をクリックします。