使用ApprovalTest验证多个映像
发布时间:2020-12-15 08:49:21 所属栏目:Java 来源:网络整理
导读:我有一个方法生成一些图像(1.jpg,2.jpg …)将它们写入文件系统.我想用ApprovalTest验证此方法的结果.问题是Approvals.verify(image)在命名测试方法时命名接收和批准的文件.因此,我无法通过一次测试验证多个图像. 如何在一次测试中验证多个图像? 解决方法 您
我有一个方法生成一些图像(1.jpg,2.jpg …)将它们写入文件系统.我想用ApprovalTest验证此方法的结果.问题是Approvals.verify(image)在命名测试方法时命名接收和批准的文件.因此,我无法通过一次测试验证多个图像.
如何在一次测试中验证多个图像? 解决方法
您可以使用NamerFactory更改附加到文件末尾的信息.进行下一次测试.
[TestFixture] class Program { [Test] [UseReporter(typeof(WinMergeReporter))] public void Test1() { var image1 = @"firstImage.png"; var image2 = @"secondImage.png"; NamerFactory.AdditionalInformation = Path.GetFileNameWithoutExtension(image1); ApprovalTests.Approvals.Verify(image1); NamerFactory.AdditionalInformation = Path.GetFileNameWithoutExtension(image2); ApprovalTests.Approvals.Verify(image2); } } Approval Tests在结束之前创建了两个带有firstImage和secondImage的文件.请参阅屏幕截图以明确: 我的对象是字符串,但对于你的图像,所有都是相同的.您可以像以前一样调用Approvals.Verify(image),但只需像示例中那样更改AdditionalInformation. 注意:我不太建议在一次测试中验证两个图像,因为如果一个验证将失败 – 下一次验证将不会执行.并且批准测试无法在一步中连接图像并验证它们,至少如果您自己执行此操作. 编辑:for Java尝试使用,位于NamerFactory public static void asMachineSpecificTest(Function0<String> environmentLabeller) { additionalInformation = environmentLabeller.call(); } 并提供适当的函数,它将返回图像的名称 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |