3

NSpec を使用してビジュアル スタジオでデバッグするにはどうすればよいですか? テストコードにステップインする必要がある resharper をインストールしました。

4

4 に答える 4

3

別の良いオプションは、単に入力することです

  System.Diagnostics.Debugger.Launch()

デバッグするテストで。テストをデバッグするための Visual Studio プロンプトが表示されます。

specwatchrも参照することをお勧めします。

于 2012-08-11T14:01:56.833 に答える
1

私は、箱から出して resharper を使用して NSpec をデバッグできるようにする簡単なトリックを使用します。アイデアは、DebuggerShim.cs (テスト プロジェクトのどこかに) の代わりに独自のバージョンの "nspec" クラスを用意することです。

[TestFixture]
public abstract class nspec: global::NSpec.nspec
{
    [Test]
    public void debug()
    {
        var currentSpec = this.GetType();
        var finder = new SpecFinder(new[] {currentSpec});
        var builder = new ContextBuilder(finder, new Tags().Parse(currentSpec.Name), new DefaultConventions());
        var runner = new ContextRunner(builder, new ConsoleFormatter(), false);
        var results = runner.Run(builder.Contexts().Build());

        //assert that there aren't any failures
        results.Failures().Count().should_be(0);
    }
}

その後、仕様の横に Resharper のテスト アイコンが表示されます。 nspec テスト

詳細については、次の記事を参照してください: VisualStudio/Resharper を使用した NSpec のデバッグ – シンプルなトリック

于 2014-11-27T22:00:28.860 に答える
0

Resharper は、NUnit および MSTest ランナーのみをサポートします (AFAIR)。Resharper の「ユニット テスト エクスプローラー」ウィンドウを開き、そこに NSpec テストがリストされているかどうかを確認します。

そうでない場合は、デバッグ用の外部プログラム (NSpec ランナー exe) を指定するようにフォールバックする必要があります。Visual Studio でこれを構成する方法については、この質問を参照してください。

于 2012-07-05T07:09:04.443 に答える