首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NCrunch正在启动ApprovalTests DiffReporter

NCrunch正在启动ApprovalTests DiffReporter
EN

Stack Overflow用户
提问于 2016-07-15 19:01:21
回答 1查看 187关注 0票数 0

如何让NCrunch在后台运行测试时停止启动DiffReporter,但在手动运行测试时却很容易获得DiffReport?

我已经尝试了一段时间了,但是我尝试过的组合都没有给出我想要的结果。我目前正在将[UseReporter(typeof(DiffReporter))]属性注释掉。当测试开始失败时,我将返回并取消注释,直到修复该问题,然后再将其注释掉,但是对于具有多个[TestCase]的方法来说,这变得特别麻烦。从我在ApprovalTests博客上读到的情况来看,这似乎是可能的。

我的diff软件是无可比拟的,我的代码目前看起来如下所示:

TestProject/AssemblyInfo.cs

代码语言:javascript
复制
[assembly: UseReporter(typeof(NCrunchReporter))]

TestProject/ClassTests.cs

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-15 20:52:05

这应该是默认行为。您想要的实际代码是

代码语言:javascript
复制
[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]

但是NcrunchReporter是DefaultFrontLoadedReporter的一部分。这些记者走到你使用的任何记者面前,如果发现情况,就封锁。

也许NCrunch已经改变了。您能尝试通过NCrunch运行这个程序并报告结果吗?

代码语言:javascript
复制
Approvals.SetCaller();
Assert.IsTrue(NCrunchReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));

这应该是真的,如果它不是NCrunch已经改变,我们将需要更新相应的记者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38403394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档