方法:データベース オブジェクトをデバッグする
SQL Server 単体テストは次の内容で構成されています。
Visual C# または Visual Basic で記述された単体テスト コード。 SQL Server 単体テスト デザイナーによって生成されるこのコードは、テストの本文を構成する Transact-SQL スクリプトを送信します。
Visual C# または Visual Basic で記述された 1 つ以上のテスト条件。 テスト条件をデバッグするには、「方法: テストの実行中にデバッグする (Visual Studio 2010)」または「方法: テストの実行中にデバッグする (Visual Studio 2012)」で説明されている単体テストのデバッグ手順に従ってください。
テスト対象のデータベースのオブジェクトに対して実行される 1 つ以上の Transact-SQL スクリプト。 これらの Transact-SQL スクリプトをデバッグすることはできません。
ここでは、テスト対象のデータベースのストアド プロシージャ、関数、トリガーなど、特定のデータベース オブジェクトをデバッグする方法について説明します。 データベース オブジェクトをデバッグするには、以下の手順を次の順序で実行します。
テスト プロジェクトで SQL Server デバッグを有効にします。
テスト対象のデータベースをホストする 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 スクリプトにブレークポイントを追加するには
[表示] メニューで SQL Server オブジェクト エクスプローラーを開きます。
[データ接続] で、テストするデータベースのノードを展開します。
データベースのアイコンの横に小さな赤い 'x' が表示されている場合は、データベースへの接続が閉じられています。 その場合は、データベースを右クリックして、 [更新] をクリックします。 データベースへの接続を開くには、資格情報の指定が必要な場合があります。
[ビュー] 、 [ストアド プロシージャ] 、または [関数] ノードを展開し、デバッグするオブジェクトを検索します。
デバッグするオブジェクトをダブルクリックします。
グレーのサイドバーをクリックして、ブレークポイントを設定します。
SQL Server 単体テストをデバッグするには
Visual Studio 2010 では、[テスト ビュー] ウィンドウ ([テスト] -> [ウィンドウ]) を開きます。 Visual Studio 2012 では、 [テスト エクスプローラー] ウィンドウを開きます。
ブレークポイントを設定したデータベース オブジェクトを使用する Transact-SQL スクリプトを含むテストを右クリックし、[選択範囲のデバッグ] を選択します。
データベース オブジェクトのブレークポイントに到達するまで、デバッグ モードでテストが実行されます。
(省略可能) 別のデバッグ ウィンドウを開くには、 [デバッグ] メニューを開き、 [ウィンドウ] をポイントします。次に、 [ブレークポイント] 、 [出力] 、または [イミディエイト] をクリックします。
参照
SQL Server の単体テストの実行
Transact-SQL のデバッグ (Visual Studio 2010)