相当于 Spring Data 的 ReactiveCrudRepository 和 R2DBC 的 DataJpaTest

Equivalent to DataJpaTest for Spring Data's ReactiveCrudRepository and R2DBC

对于 JpaRepository there is @DataJpaTest@DataJpaTest 允许对 Spring 中的 JPA 存储库进行简单和独立的测试。

我们正在使用 spring-data-r2dbc. Is there an equivalent of @DataJpaTest for ReactiveCrudRepository 进行隔离测试?

是的,从 Spring Boot 2.3 开始,您可以使用 @DataR2dbcTest 为您的 R2DBC 存储库(包括 DatabaseClient)启动上下文:

@DataR2dbcTest
class DataR2dbcTestIntegrationTests {

    @Autowired
    private DatabaseClient databaseClient;

    @Autowired
    private ConnectionFactory connectionFactory;

    @Autowired
    private MyRepository myRepository;

    @Test
    void testDatabaseClient() {
        this.databaseClient.execute("SELECT * FROM example").fetch().all()
             .as(StepVerifier::create).verifyComplete();
    }

    // …
}