Che*_*rry 3 java spring embedded-database spring-boot spring-boot-test
有一个带有 h2 数据库的 spring boot 应用程序,用作主数据库。还有一个resource/schema.sql在启动时通过 spring boot 加载的。
但是在使用@SpringBootTestspring boot 的集成测试期间不会加载这个schema.sql。相反,它需要在h2已经有db 的情况下设置嵌入式数据库。
有没有办法在schema.sql没有嵌入数据源配置的情况下执行?并且只对所有测试执行一次(例如@Sql,用于所有测试的模式创建不是解决方案)?
小智 6
使用@Sql(scripts = "classpath:schema.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)您的 schema.sql 在资源文件夹中的位置注释您的类或方法。
如果您的测试被标记为集成测试,您就需要这个。如果您正在运行单元测试或只是在启用默认单元测试的情况下编译,Spring Boot 将为您执行此操作。
| 归档时间: |
|
| 查看次数: |
9678 次 |
| 最近记录: |