如何使用NSpec在visual studio中进行调试?我已经安装了resharper,我需要进入我的测试代码。
答案 0 :(得分:3)
另一个好的选择就是输入
System.Diagnostics.Debugger.Launch()
在您要调试的测试中。您将获得Visual Studio提示来调试测试。
我还建议您查看specwatchr。
答案 1 :(得分:2)
至少在Visual Studio 2013中,NSpec Test Adapter(通过{o}软件)似乎可以解决问题。在扩展程序库中找到它。然后右键单击Test Explorer中的测试并点击Debug。
答案 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的测试图标:
有关详细信息,请参阅此文章: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中配置它。