fyr*_*kov 9 spring-data project-reactor spring-data-r2dbc
在 Spring data JPA 中,有一个@Sql注释对于设置持久层的集成测试非常方便。它可以在每次测试之前推出测试数据并在测试之后执行清理。
但是,我在模块中找不到它spring-data-r2dbc。有没有类似的东西可以轻松处理这个任务spring-data-r2dbc?
目前我还没有找到比org.springframework.data.r2dbc.connectionfactory.init.ScriptUtils#executeSqlScript(io.r2dbc.spi.Connection, org.springframework.core.io.Resource)与 JUnit@BeforeEach和@AfterEach测试回调一起使用更好的方法:
@Autowired
private ConnectionFactory connectionFactory;
private void executeScriptBlocking(final Resource sqlScript) {
Mono.from(connectionFactory.create())
.flatMap(connection -> ScriptUtils.executeSqlScript(connection, sqlScript))
.block();
@BeforeEach
private void rollOutTestData(@Value("classpath:/db/insert_test_data.sql") Resource script) {
executeScriptBlocking(script);
}
@AfterEach
private void cleanUpTestData(@Value("classpath:/db/delete_test_data.sql") Resource script) {
executeScriptBlocking(script);
}
Run Code Online (Sandbox Code Playgroud)
注意:这里我使用 JUnit5 和 jupiter API
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |