加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用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();
}

并提供适当的函数,它将返回图像的名称

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读