@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class TaskProviderTest {
}
我正在使用属性文件中配置的 h2 数据库
spring.datasource.url=jdbc:h2:mem:testdb;MODE=PostgreSQL
spring.datasource.platform=h2
spring.jpa.hibernate.ddl-auto=none
spring.datasource.continue-on-error=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop
我正在使用 schema.sql 和 data.sql 文件进行单元测试。这两个脚本都在测试启动时执行。
是否可以针对不同的 Junit 测试用例使用不同的 data.sql 文件?
最佳答案
尝试使用EmbeddedDataSource并通过代码中的方法配置它。 下面的代码演示了如何使用2个sql脚本创建数据源
@Bean
public DataSource dataSource() {
final EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
return builder
.setType(EmbeddedDatabaseType.HSQL)
.addScript("sql/create-db.sql")
.addScript("sql/fill-db.sql")
.build();
}
关于java - Spring Boot针对不同的h2测试使用不同的data.sql文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40789342/