Java Spring为不同的h2测试启动不同的data.sql文件
我正在使用在属性文件中配置的h2数据库Java Spring为不同的h2测试启动不同的data.sql文件,java,spring,h2,Java,Spring,H2,我正在使用在属性文件中配置的h2数据库 @RunWith(SpringRunner.class) @SpringBootTest(classes=Application.class) public class TaskProviderTest { } 我使用schema.sql和data.sql文件进行单元测试。这两个脚本都在测试启动时执行 对于不同的Junit测试用例,是否仍然可以使用不同的data.sql文件?尝试使用EmbeddedDataSource并从代码中的方法对其进行配置。 下面
@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class TaskProviderTest {
}
我使用schema.sql和data.sql文件进行单元测试。这两个脚本都在测试启动时执行
对于不同的Junit测试用例,是否仍然可以使用不同的data.sql文件?尝试使用EmbeddedDataSource并从代码中的方法对其进行配置。 下面的代码演示了如何使用2个sql脚本创建数据源
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
尝试使用EmbeddedDataSource并从代码中的方法配置它。 下面的代码演示了如何使用2个sql脚本创建数据源
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
您可以使用Spring的
EmbeddedDatabaseBuilder
在单元测试的setUp()
方法中构造数据库,为不同的测试提供不同的data.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();
}
参考:
您可以使用Spring的
EmbeddedDatabaseBuilder
在单元测试的setUp()
方法中构造数据库,为不同的测试提供不同的数据.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();
}
参考:
当前如何加载data.sql?我的意思是你能添加代码吗?它是由spring Boot自动添加的。你现在是如何加载data.sql的?我的意思是你能添加代码吗?它是由spring boot自动添加的