首页 > 解决方案 > 黄瓜测试没有运行 Liquibase

问题描述

当我执行 Cucumber 测试时,Liquibase 不会运行,但对于应用程序和单元测试来说效果很好。

我有一套黄瓜弹簧测试,测试一个弹簧启动应用程序。

我最近将 Liquibase 引入了应用程序,当我运行应用程序或单元测试时它运行良好,但是当我从 RunCukesTest Junit 类或 cucumber-cli 运行我的黄瓜测试时没有运行。

在所有情况下都会加载正确的 application.properties 文件,我没有做任何特别的事情来让 Liquibase 在标准应用程序和测试中运行。它默认启用,我尝试强制启用,但没有运气。

我曾尝试在测试中设置 SpringLiquibase bean,但 cucumber-spring 不喜欢这样,因为它不允许进一步的 @Configuration 类。

Liquibase jar 在类路径中可用,并且在黄瓜步骤中引用 Liquibase 类型可以很好地编译。

我设置的唯一属性是:

spring.liquibase.change-log=classpath:db/changelog/db.changelog-master.xml

我的 Cucumber 测试类有签名:

@Ignore
@SpringBootTest(classes = {Application.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
public class SpringConfig extends SpringBootBaseIntegrationTest implements En {

application.properties. 我也试过为 Cucumber 设置这个application.properties,没有任何变化。

Liquibase 应该按照标准应用程序启动运行我的变更日志文件。

标签: javaspringspring-bootcucumberliquibase

解决方案


推荐阅读