如何使用批准测试WinMergeReporter w / ncrunch

时间:2012-07-24 23:56:05

标签: ncrunch approval-tests

我已经使用WinMergeReporter进行了一段时间的批准测试,并且它与标准的NUnit跑步者可执行文件配合得很好。

我正在尝试NCrunch和批准。验证失败(如预期的那样)以获得新的批准。

但是,WinMerge无法启动。

我得到了失败

ApprovalTests.Core.Exceptions.ApprovalMissingException:批准失败:批准文件“... \ mytest.approved.txt”未找到。    在ApprovalTests.Approvers.FileApprover.Fail()

我可以在NUnit运行程序中运行相同的代码并启动WinMerge。

NCrunch提出WinMergeReporter的秘诀是什么?

1 个答案:

答案 0 :(得分:6)

这实际上是设计上的,因为每次NCrunch失败时弹出winmerge都会非常烦人。特别是它偷走了焦点。

然而,这就是为什么它有效以及如何改变它,如果你愿意(你可以随时改变它)

批准测试有一个MultiReporter系统,它使用程序集中的Front Loads来实现GangOfFour“责任链”模式。 它将表现得好像有一个

[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]

实际上并非必须存在。如果没有任何实际存在,则批准测试将其视为默认值。

所以,如果你想把它关闭,你可以做到

[assembly: FrontLoadedReporter(typeof(AlwaysFaillingReporter))]

除了记者不存在(虽然制作一个会很简单:-) 所以你可能只想做

[assembly: FrontLoadedReporter(typeof(WinMergeReporter))]

快乐测试!