NCrunch 正在启动 ApprovalTests DiffReporter
NCrunch is launching the ApprovalTests DiffReporter
如何让 NC运行ch 在后台 运行ning 测试时停止启动 DiffReporter,但在我手动 运行 测试时轻松获得 DiffReport ?
一段时间以来,我一直在努力使它正常工作,但是 none 我尝试过的组合给出了我正在寻找的结果。我目前将 [UseReporter(typeof(DiffReporter))]
属性注释掉。当测试开始失败时,我会返回并取消注释,直到我解决问题,然后再将其注释掉,但这对于具有多个 [TestCase]
的方法来说尤其麻烦。从我在 ApprovalTests 博客上阅读的内容来看,这似乎是可行的。
我的 diff 软件是 Beyond Compare,我的代码目前是这样的:
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 包:
- ApprovalTests v3.0.11
- ApprovalUtilities v3.0.11
-NUnit v3.2.1
这应该是默认行为。您想要的实际代码是
[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]
但是 NcrunchReporter 是 DefaultFrontLoadedReporter 的一部分。
如果检测到这种情况,这些记者会走到您使用的任何记者面前并阻止。
也许 NCrunch 已经改变了。
您能否通过 NCrunch 尝试 运行 并报告结果
Approvals.SetCaller();
Assert.IsTrue(NCrunchReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));
应该是真的,如果不是 NCrunch 已经改变,我们将需要相应地更新报告器。
如何让 NC运行ch 在后台 运行ning 测试时停止启动 DiffReporter,但在我手动 运行 测试时轻松获得 DiffReport ?
一段时间以来,我一直在努力使它正常工作,但是 none 我尝试过的组合给出了我正在寻找的结果。我目前将 [UseReporter(typeof(DiffReporter))]
属性注释掉。当测试开始失败时,我会返回并取消注释,直到我解决问题,然后再将其注释掉,但这对于具有多个 [TestCase]
的方法来说尤其麻烦。从我在 ApprovalTests 博客上阅读的内容来看,这似乎是可行的。
我的 diff 软件是 Beyond Compare,我的代码目前是这样的:
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 包:
- ApprovalTests v3.0.11
- ApprovalUtilities v3.0.11
-NUnit v3.2.1
这应该是默认行为。您想要的实际代码是
[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]
但是 NcrunchReporter 是 DefaultFrontLoadedReporter 的一部分。 如果检测到这种情况,这些记者会走到您使用的任何记者面前并阻止。
也许 NCrunch 已经改变了。 您能否通过 NCrunch 尝试 运行 并报告结果
Approvals.SetCaller();
Assert.IsTrue(NCrunchReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));
应该是真的,如果不是 NCrunch 已经改变,我们将需要相应地更新报告器。