如何让NCrunch在后台运行测试时停止启动DiffReporter,但在手动运行测试时却很容易获得DiffReport?
我已经尝试了一段时间了,但是我尝试过的组合都没有给出我想要的结果。我目前正在将[UseReporter(typeof(DiffReporter))]属性注释掉。当测试开始失败时,我将返回并取消注释,直到修复该问题,然后再将其注释掉,但是对于具有多个[TestCase]的方法来说,这变得特别麻烦。从我在ApprovalTests博客上读到的情况来看,这似乎是可能的。
我的diff软件是无可比拟的,我的代码目前看起来如下所示:
TestProject/AssemblyInfo.cs
[assembly: UseReporter(typeof(NCrunchReporter))]TestProject/ClassTests.cs
public class ClassTests
{
[Test]
//[UseReporter(typeof(DiffReporter))]
[TestCase(1, 1)]
[TestCase(1, 2)]
[TestCase(2, 1)]
[TestCase(3, 1)]
public void TestCase(int errorNumber, int )
{
using (ApprovalResults.ForScenario(errorNumber, testCaseSubtestNumber))
{
var results = DoSomething();
Approvals.Verify(results);
}
}
}更新:
我使用以下NuGet包:
发布于 2016-07-15 20:52:05
这应该是默认行为。您想要的实际代码是
[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]但是NcrunchReporter是DefaultFrontLoadedReporter的一部分。这些记者走到你使用的任何记者面前,如果发现情况,就封锁。
也许NCrunch已经改变了。您能尝试通过NCrunch运行这个程序并报告结果吗?
Approvals.SetCaller();
Assert.IsTrue(NCrunchReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));这应该是真的,如果它不是NCrunch已经改变,我们将需要更新相应的记者。
https://stackoverflow.com/questions/38403394
复制相似问题