1

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

我设法让它与基本的文件比较一起工作

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

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

4

1 回答 1

1

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

但是,实际上屏蔽该区域非常容易(即,在调用验证之前在该区域上放置一个黑色方块)

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

比较器的详细信息: ApprovalsFileComparer 是一个非常愚蠢的比较器。它对文件格式一无所知,也不知道图像是什么。它只是将字节与字节进行比较。这种简单性使它可以在任何地方工作,但消除了对事物聪明的能力。这通常不是问题,因为记者非常非常聪明。能够渲染和比较以及做减法差异等。

快乐测试!

于 2015-03-04T01:17:19.233 回答