web-dev-qa-db-ja.com

xUnitでデバッグする方法は?

私はxUnitを学習していますが、これまでのところ、それが最も有用なツールであることがわかりました。代わりに、TDDに対するコーディング手法の一部を再考する必要があります。

しかし、私は興味深い問題に遭遇しました。テストケースが失敗します。本当の心配はありませんが、どうやってデバッグするのですか?

具体的には、「インデックスがありません」エラーまたは同様の何かが原因でテストケースが失敗しています。それはassertステートメントで失敗していません。今必要なのは、さまざまな変数のステータスを確認できるように、Visual Studioデバッガーをアクティブにしてテストケースを実行する方法です。

私はコードを投稿するつもりはありません。この状況は再び発生するためです。テストケース自体をデバッグする方法を知っている人はいますか?

ほとんど忘れました!私は使っています、

  • Visual Studio 2010 Ultimate(Dreamsparkライセンス)
  • xUnit 1.9

私のワークフローでは、xUnit GUIランナーを使用してテストを実行します。

私が求めていることが不可能である場合、誰かが私が使用できる代替のテストスイートを提案できますか?

33
chronodekar

私はこれをテストしていませんが、Visual StudioをxUnit GUIに接続して、そこからデバッグできるはずです。

[デバッグ]メニューから[プロセスにアタッチ]を選択し、リストから実行可能ファイルの名前を見つけて、[アタッチ]をクリックします。必要に応じてユニットテストにブレークポイントを設定し、GUIからテストを実行します。期待どおりにブレークポイントにヒットする必要があります。

10
Dave

VS2015以降では、 xunit.runner.visualstudio NuGetパッケージをインストールします。その後、デバッグは、テストエクスプローラーウィンドウでテストを右クリックするのと同じくらい簡単です。 (表示されない場合は、Test-> Windows-> TestExplorer)。

enter image description here

49
bbsimonbb

上記のすべてを実装することに失敗しましたが、次の方法でうまくいきました。デバッグする行の前に、次の行を追加します(その後、テストを実行します)。

        System.Diagnostics.Debugger.Launch();

欠点は、VSの別のインスタンスを起動することです:)。

乾杯!

9
Laurentiu Ilici

以下はVS.NETとSharpDevelopで動作します。

テストプロジェクトのプロパティを開き、[デバッグ]タブに移動します。

  • [アクションの開始]で、[外部プログラムの開始]を選択したxUnitランナー実行可能ファイルに設定します。

  • [開始オプション]で、[コマンドライン引数]をプロジェクトのデバッグDLLの名前に設定します。

  • また、「作業ディレクトリ」をプロジェクトの「bin\Debug \」ディレクトリに設定します。

次に、[デバッグ]> [実行]を選択するか、F5キーを押して、デバッグモードでテストを実行します。ブレークポイントがヒットします。

この方法でデバッグを行う利点は、毎回xUnit GUIにアタッチする必要がなく、テストプロジェクトを実行する必要があるだけです。

6
Boggin

Visual Studio 2017で、ソリューション構成が「デバッグ」モードになっていることを確認してください。 「リリース」モードでは、デバッグは行われません。

4
Megha

Xユニットのcontrib拡張機能がインストールされたリシャーパーを使用している場合(真剣に推奨!)、Visual Studioでクラスを右クリックし、[ユニットテストのデバッグ]をクリックします。

シンプル!

2
Adam Diament

この質問への回答を参照してください: ユニットテストのコードのステップスルーとデバッグ

基本的に:

...VSのメインメニューで[テスト]に移動し、サブメニュー[デバッグ]をクリックします。 。 。 '。

また、VS2017を使用して私のために動作します;)

0
Zeek2
  1. メソッド内にブレークポイントを設定します。
  2. visual Studioのメニューバーから、[テスト]をクリックします。
  3. デバッグから、選択したテストまたはすべてのテストをクリックします。
0