如何在 Visual Studio 中使用 NSpec 进行调试?我已经安装了 resharper 我需要进入我的测试代码。
问问题
2025 次
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 的测试图标:
有关更多详细信息,请参阅本文:使用 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 回答