web-dev-qa-db-ja.com

VS単体テストの実行中にデバッグできますか?

カスタムイベントを使用するユーザーコンポーネントを単体テストしたいのですが。 VSユニットテストフレームワークを使用せずにこれを行うと、debug.assertが成功し、VSユニットテストフレームワークで同じことを行うと、assertが失敗します。しかし、私が設定したデバッグポイントでコードが一時停止することはないので、それはできないようです。

その場合、デバッグポイントで一時停止するように強制する方法はありますか?

アップデート:つまり、テストプロジェクト自体ではなく、テストプロジェクトの実行中のターゲットプロジェクトです。

29
user310291

P.キャンベルの答えは正確ではありません。プロジェクト(WCFサービスサイトなど)のデバッグを開始すると、単体テストやデバッグモードを開始することはできません。そのためのオプションは、Visual Studio 2012では単にグレー表示されています。

これは、単体テストからアウトプロセスコードをデバッグできないことを意味します。ユニットテストによってプロセスで直接呼び出されたコードのみをデバッグできます。

これはVS2012の主要な問題であり、今すぐ修正する必要があります。

32
Chris Bordeman

はい、Visual Studio Testプロジェクトでは、ブレークポイントを設定してコードをステップ実行できます。

必ず[デバッグ]メニューでテストを実行してください-[テスト]-> [デバッグ]-> [現在のコンテキストでのテスト]。特定のテストクラスまたはテストメソッドについて、キーボードショートカットを使用する Ctrl-RCtrl-T

カーソルがメソッド内にある場合(テストメソッド、またはテストでカバーされるコード)、そのメソッド内のブレークポイントでブレークします、またはコード実行パスの任意の場所にあるブレークポイント。カーソルがクラス上またはテストメソッドの間にある場合、クラス内のすべてのテストが実行されます。上記のように、ブレークポイントがここにヒットします。

58
p.campbell

VS2015では、次を選択します。

テスト->デバッグ->すべてのテスト

または、エディターで特定のテストを強調表示して、

テスト->デバッグ->選択したテスト

6
MichaelHouse

テストエクスプローラー->デバッグする特定のテストケースを右クリック->コンテキストメニューから、[選択したテストケースのデバッグ]オプションをクリックします。

0
Hedego