首页 > 解决方案 > 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"})

有什么想法吗?谢谢。

标签: springspring-bootspring-test-mvc

解决方案


推荐阅读