我最近遇到了 ApprovalTests 的问题,其中差异工具(在我的情况下是 BeyondCompare 3;我有一位同事使用 WinMerge 遇到了同样的问题)闪烁打开然后立即关闭。该工具保持打开状态的唯一方法是在运行测试之前打开该工具。
我正在使用 ApprovalTests 3.6;我知道这个问题在以前的版本中也存在。
调用验证的方法非常简单:
[UseReporter(typeof(DiffReporter))]
protected void VerifyTables(IEnumerable<DataTable> tables, bool showSchema = false)
{
Approvals.VerifyAll(tables.Select(t => GetXmlForApproval(t, showSchema).ToString()), "");
}
就 BeyondCompare 而言 - 我在 Visual Studio 中的 TFS 比较遇到了这个问题,这是由于 TFS 被设置为调用 BCompare.exe 而不是 BComp.exe。因此,我尝试制作BeyondCompareReporter
调用 BComp.exe 而不是 BCompare.exe 的自定义实现,但在这种情况下使用它并没有什么不同。