如何使用NSpec在Visual Studio中进行调试

时间:2012-07-04 12:02:50

标签: tdd resharper bdd nspec

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

4 个答案:

答案 0 :(得分:3)

另一个好的选择就是输入

  System.Diagnostics.Debugger.Launch()

在您要调试的测试中。您将获得Visual Studio提示来调试测试。

我还建议您查看specwatchr

答案 1 :(得分:2)

至少在Visual Studio 2013中,NSpec Test Adapter(通过{o}软件)似乎可以解决问题。在扩展程序库中找到它。然后右键单击Test Explorer中的测试并点击Debug。

enter image description here

答案 2 :(得分: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 testing

有关详细信息,请参阅此文章:Debugging NSpec with VisualStudio/Resharper – simple trick

答案 3 :(得分:0)

Resharper仅支持NUnit和MSTest跑步者(AFAIR)。打开Resharper“Unit Test Explorer”窗口,查看它是否列出了您的NSpec测试..

如果没有,您需要回退到指定用于调试的外部程序(NSpec runner exe) - 请参阅this question,了解如何在Visual Studio中配置它。