我试图使用Instancio为自动化的UI测试生成数据(特别是在注册表单中填写Selify). 所以我写了一段简单的代码:

@Test
    public void randomVolunteerRegTest(){
        driver = TestUtilities.getDriver("chrome");
        Volunteer volunteer = Instancio.create(Volunteer.class);
        registrationTest(volunteer);
        Assertions.assertEquals(volunteer.getPassword(), volunteer.getConfirmPassword());
    }

使用Junit5进行断言

很明显,测试每次都会失败,因为比较的值总是不同的

但在官方文档页面上写道,在测试断言失败的情况下,应该在日志(log)中抛出消息,指明用于生成数据的实例种子,从而允许重现 case .但我没有拿到,只有一张:

org.opentest4j.AssertionFailedError: 
Expected :PLQ
Actual   :RUOYWWDNQ

我很困惑,为什么它不起作用,我做错了什么吗?

try 接收包含种子实例的日志(log)消息以重现失败的测试

推荐答案

你的测试课有@ExtendWith(InstancioExtension.class)分吗?需要为要报告的种子声明扩展:

@ExtendWith(InstancioExtension.class)
class ExampleTest {

    @Test
    void example() {
        // ...
    }
}

Docs : https://www.instancio.org/user-guide/#junit-jupiter-integration

Java相关问答推荐

在现有Json文件中添加新记录

是否可以从@ TrustMapping中删除特定方法的基路径?

无法运行Java(已解决)

使用log 4j2格式的Hibernate 显示SQL日志(log)

Java WireMock定义存根在Cucumber并行执行的多线程测试中失败

ittext pdf延迟签名,签名无效

参数值[...]与预期类型java.util.Date不匹配

是否在允许数组元素为空时阻止 idea 为空性警告?

如何在运行时动态创建表(使用Java、JPA、SprringBoot)

如何让DTO接受空字符串字段,但如果它们不为空,则应用JPA验证?

在Spring Boot应用程序中导致";MediaTypeNotSupportdException&qot;的映像上载

如何使用Jackson将XML元素与值和属性一起封装

try 将JSON字符串响应从API转换为映射字符串、对象>;时出错

AbstractList保证溢出到其他方法

嘲笑黄瓜中的对象

在缺少字段时使用Jackson With Options生成Optional.Empty()

通过/失败的参数化junit测试方法执行数

JOOQ:批处理CRUD操作使用动态表定义,如何?

为什么child-pom会创建一个新版本

在不带instanceof或switch的java中记录模式