如何将初始化脚本添加到 h2 junit spring 测试?

How to add an init script to h2 junit spring test?

我有一个 @SpringBootTest,它使用内存 h2 数据库进行 junit 测试:

spring.datasource.cache.url=jdbc:h2:mem:;MODE=MYSQL
spring.datasource.cache.username=test
spring.datasource.cache.password=test

问题:如何在 h2 db 启动时向其中添加模式创建脚本,但仅用于一个或某些测试?

基本上您可以尝试在要生成 schema/data/etc.

的测试中使用 @Sql 注释

给它一个包含模式定义的脚本,你就可以开始了。

@Sql("/generate_schema.sql")
public class MyTest {
}