审批测试与掩码的图像比较

时间:2015-03-03 08:36:35

标签: c# .net approval-tests

是否可以将两个图像与不需要比较的区域的掩码进行比较。

我设法让它使用基本文件比较

[UseReporter(typeof(BeyondCompareReporter))]
public void ThenThePageShouldMatchTheApprovedVersion()
{
    SaveScreenshot("page1");
    Approvals.VerifyFile(@"C:\page1.png");
}

但是我想创建一个我希望改变的区域面具。这是可以使用ApprovalTests还是我需要修改屏幕截图并手动应用掩码,然后再与批准的文件进行比较。或者是否可以编写自己的验证器?

1 个答案:

答案 0 :(得分:0)

无法屏蔽该区域,因此比较器不会比较它们。

然而,实际掩盖该区域非常容易(即,在调用Verify之前在该区域上放置黑色方块)

或者,你通常可以模拟出正在改变的变量。

有关比较者的详情: ApprovalsFileComparer是一个非常愚蠢的比较器。它对文件格式一无所知,也不知道图像是什么。它只是比较字节到字节。这种简单性使它可以在任何地方工作,但却消除了对内容进行智能化的能力。这通常不是问题,因为记者非常聪明。能够渲染和比较,并做减色差异等。

快乐测试!