我已经使用WinMergeReporter进行了一段时间的批准测试,并且它与标准的NUnit跑步者可执行文件配合得很好。
我正在尝试NCrunch和批准。验证失败(如预期的那样)以获得新的批准。
但是,WinMerge无法启动。
我得到了失败
ApprovalTests.Core.Exceptions.ApprovalMissingException:批准失败:批准文件“... \ mytest.approved.txt”未找到。 在ApprovalTests.Approvers.FileApprover.Fail()
我可以在NUnit运行程序中运行相同的代码并启动WinMerge。
NCrunch提出WinMergeReporter的秘诀是什么?
答案 0 :(得分:6)
这实际上是设计上的,因为每次NCrunch失败时弹出winmerge都会非常烦人。特别是它偷走了焦点。
然而,这就是为什么它有效以及如何改变它,如果你愿意(你可以随时改变它)
批准测试有一个MultiReporter系统,它使用程序集中的Front Loads来实现GangOfFour“责任链”模式。 它将表现得好像有一个
[assembly: FrontLoadedReporter(typeof(NCrunchReporter))]
实际上并非必须存在。如果没有任何实际存在,则批准测试将其视为默认值。
所以,如果你想把它关闭,你可以做到
[assembly: FrontLoadedReporter(typeof(AlwaysFaillingReporter))]
除了记者不存在(虽然制作一个会很简单:-) 所以你可能只想做
[assembly: FrontLoadedReporter(typeof(WinMergeReporter))]
快乐测试!