我正在使用spring-boot-test
进行集成测试(网络层+数据库)。因为我的域类是@Entity
,所以hibernate会自动在嵌入h2
的testdb中生成数据库。
问题:在测试中对hibernate / jpa进行任何初始化之前,如何在之前运行sql脚本?
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public void MyITest {
@Test
public void test() {
}
}
我添加了一个src/test/resources/schema-test.sql
,但是默认情况下似乎没有发现。尤其是在休眠自动生成程序之前。
答案 0 :(得分:0)
我只需要使用src/test/resources/schema.sql
答案 1 :(得分:0)
您可以使用 @Sql 并设置脚本的路径
@Test
@Sql({"/test-schema.sql", "/test-user-data.sql"})
public void userTest {
// execute code that relies on the test schema and test data
}