NSpec を使用してビジュアル スタジオでデバッグするにはどうすればよいですか? テストコードにステップインする必要がある resharper をインストールしました。
4 に答える
別の良いオプションは、単に入力することです
System.Diagnostics.Debugger.Launch()
デバッグするテストで。テストをデバッグするための Visual Studio プロンプトが表示されます。
specwatchrも参照することをお勧めします。
私は、箱から出して 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 のテスト アイコンが表示されます。
詳細については、次の記事を参照してください: VisualStudio/Resharper を使用した NSpec のデバッグ – シンプルなトリック
Resharper は、NUnit および MSTest ランナーのみをサポートします (AFAIR)。Resharper の「ユニット テスト エクスプローラー」ウィンドウを開き、そこに NSpec テストがリストされているかどうかを確認します。
そうでない場合は、デバッグ用の外部プログラム (NSpec ランナー exe) を指定するようにフォールバックする必要があります。Visual Studio でこれを構成する方法については、この質問を参照してください。