spring - Spring Boot Controller IT 测试未找到类路径资源
问题描述
我有一个带有单元测试和 IT 测试的 Spring Boot Web 应用程序。该应用程序还有一个 DAL,我在 DAL 层中有单元测试,使用内存中的 H2 数据库进行测试。h2 数据库是使用与我的生产环境相同的 liquibase 更改日志创建的。
更改日志打包在一个 jar 中,并通过将其添加到我的 application.yml 文件中来在我的 DAL 测试中引用:
liquibase:
change-log: classpath:src/changeLogs/db-changelog-master.xml
这在我的 DAL 项目中可以正常工作,但在我的 Web 项目中却不行。在我的网络项目中,我收到此错误:
Cannot find changelog location: class path resource [src/changeLogs/db-changelog-master.xml]
未能找到更改日志的测试是 Spring Boot IT 测试。被测试的类是一个 Spring Controller。测试注释如下:
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles({"IT","development"})
有什么想法吗?谢谢。
解决方案
推荐阅读
- python - 生成多个敌人 pygame
- kubernetes - kubernetes pod 容器通过 CrashLoopBackoff 不断重启
- database - 如何使用 MongoDB 实现 SELECT ... FOR UPDATE 和 Transactions 水平扩展服务?
- javascript - 每次更新状态时如何渲染元素
- visual-studio-code - VSCode 不会为 nextjs (9.5.2) 绑定客户端断点
- reactjs - 我想在下拉菜单上显示标题,当有人选择一个选项并提交时,我想提交年份值
- sql - BigQuery - 连接列的所有行,直到达到特定值
- python - Python 和 Selenium - 无法选中复选框
- haskell - 将相对路径转换为绝对路径
- c - 宏重定义适用于某些编译器,但不适用于其他编译器。这是什么决定的?