我执行Cucumber测试时,Liquibase无法运行,尽管可以很好地进行应用程序测试和单元测试。
我有一套黄瓜弹簧测试套件,用于测试弹簧启动应用程序。
我最近向应用程序介绍了Liquibase,当我运行应用程序或单元测试时,它运行良好,但是从RunCukesTest Junit类或Cucuming-cli运行黄瓜测试时,Liquibase无法运行。
在所有情况下都将加载正确的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
中。我尝试将其设置为黄瓜application.properties
,但也没有更改。
Liquibase应该按照标准应用程序启动来运行我的变更日志文件。