我使用ReSharper的NUnit插件。我找不到任何调试单个测试的方法。即使我从一种测试方法专门启动调试,BUG按钮也会始终启动所有测试。
我正试图通过一个特定的测试来达到断点,我不想用其他测试来达到它。
你知道这样做的方法吗?谷歌没有帮我这个......
我的测试代码示例
[Test]
public void IsValidDoer_DoerValid()
{
var mockRepositoryDoer = new Mock<IDoerRepository>();
mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable);
var doerValidation = new DoerValidation(mockRepositoryDoer.Object);
Assert.IsTrue(dModel.IncludedDoers.Any());
}
[Test]
public void IsValidDoer_DoerInvalidNoQuota()
{
var mockRepositoryDoer = new Mock<IDoerRepository>();
var activeDoers = listDoers.ToList();
activeDoers.First().QuotaActivity.Clear();
mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable);
var doerValidation = new DoerValidation(mockRepositoryDoer.Object);
Assert.IsFalse(dModel.IncludedDoers.Any());
}
答案 0 :(得分:4)
是除了代码是绿色和黄色标记,只需单击此按钮并单击运行它将运行该单个测试。您只需在获得选项后左键单击它,根据您从Jetbrains安装的内容,您也可以从此处启动代码覆盖。
您还可以选择将其附加到已有的其他测试会话中,或者在会话中单独创建它。
澄清:
有人贬低了这一点,所以我回去看了一下,并为MSTEST和NUnit测试了它。如果您只想调试一个测试,那么执行15个测试是不正确的。测试是在Visual Studio 2015中使用Resharper 10和visual studio 2013与Resharper 8进行的。如果单击单个测试文件中的标记,它确实只运行一次代码。
如果你运行多个测试并在Resharper的跑步者中通过三次测试得到一个测试会话,它会在右键单击时显示“debug tests”,但是如果你只选择一个,它只运行一个测试,所以只打了代码一次。
答案 1 :(得分:1)
当使用ReSharper 10作为测试运行器时,我们也遇到了同样的问题。即使我在会话中仅配置了一个测试,它也会运行所有测试。当我右键单击测试球进行此测试时,它也将运行所有测试。
在工具 - &gt;扩展和更新 - >在线下安装 NUnit3测试适配器后,我可以从Visual Studio 2015的常规测试资源管理器中调试测试右键单击并选择调试所选测试。这只会运行这一个测试:)
答案 2 :(得分:1)
我有同样的问题。通过单击圆圈并选择“调试(错误图标)”来尝试调试单个测试时。它将调试所有单元测试。
我通过升级Resharper解决了这个问题。我从Resharper Ultimate 10.0.1升级到10.0.2。
答案 3 :(得分:0)
尝试右键单击特定测试的代码。您应该在上下文菜单中看到“Debug Unit Test”或类似的内容。