java - 黄瓜测试没有运行 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 应该按照标准应用程序启动运行我的变更日志文件。
解决方案
推荐阅读
- xamarin - 在 CopyingFile 部署到真正的 iPhone 变得非常缓慢
- python - 具有非字母数字字符的字段名称的 Pydantic 模型
- java - 为什么热点在同一个源代码中使用不同的汇编风格?
- javascript - 错误:重新渲染太多。React 限制渲染次数以防止无限循环
- adonis.js - Adonis.js api 删除路由不起作用
- python - 如果ID之前取消订单,请填写True/False
- powershell - 使用PowerShell查找并删除注册表中的重复数据
- css - 滚动时翻转线性渐变
- python - 多处理,传递字典并返回数据框
- c - [服务器] Ubuntu 20.04 自己编写的程序中是否可以检测到电源按钮被按下?