SQL Server の単体テストは、次の要素で構成されます。
C# または Visual Basic で記述された単体テスト コード。 このコードは、SQL Server 単体テスト デザイナーによって生成され、テストの本文を形成する Transact-SQL スクリプトを送信します。
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" />変更を保存します。
単体テスト プロジェクトをリビルドします。
Important
プロジェクトをリビルドしないと、単体テストの実行時に app.config に加えた変更は適用されず、デバッグは失敗します。
Transact-SQL スクリプトにブレークポイントを追加する
[ 表示 ] メニューで、 SQL Server オブジェクト エクスプローラーを開きます。
[ データ接続] で、テストするデータベースのノードを展開します。
小さな赤い 'x' がデータベースのアイコンの横に表示される場合、データベースへの接続は閉じられます。 この場合は、データベースを右クリックし、[最新の 情報に更新] を選択します。 データベースへの接続を開くために資格情報を指定する必要がある場合があります。
[ ビュー]、[ ストアド プロシージャ]、または [関数] ノードを展開して、デバッグするオブジェクトを見つけます。
デバッグするオブジェクトをダブルクリックします。
灰色のサイドバーを選択してブレークポイントを設定します。
SQL Server の単体テストをデバッグする
Visual Studio 2010 で、(Test>Windows) テスト ビュー ウィンドウを開きます。 Visual Studio 2012 で、[ テスト エクスプローラー ] ウィンドウを開きます。
ブレークポイントを設定したデータベース オブジェクトを Transact-SQL スクリプトで実行するテストを右クリックし、[ デバッグの選択] を選択します。
テストは、データベース オブジェクトのブレークポイントが検出されるまでデバッグ モードで実行されます。
(省略可能)別のデバッグ ウィンドウを開くには、[ デバッグ ] メニューを開き、 Windows をポイントして、[ ブレークポイント]、[ 出力]、または [イミディエイト] を選択します。