3

如何在 Visual Studio 中使用 NSpec 进行调试?我已经安装了 resharper 我需要进入我的测试代码。

4

4 回答 4

3

另一个不错的选择是只输入

  System.Diagnostics.Debugger.Launch()

在要调试的测试中。你会得到一个 Visual Studio 提示来调试测试。

我还建议看一下specwatchr

于 2012-08-11T14:01:56.833 回答
2

至少在 Visual Studio 2013 中,NSpec 测试适配器(由 {o} Software 提供)似乎可以解决问题。在扩展库中找到它。然后只需右键单击测试资源管理器中的测试并点击调试。

在此处输入图像描述

于 2014-08-13T23:09:39.717 回答
1

我使用了一个简单的技巧,让我用开箱即用的 resharper 调试 NSpec。这个想法是拥有你自己版本的“nspec”类而不是 DebuggerShim.cs(在你的测试项目中的某个地方):

[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 回答