小编bat*_*boy的帖子

无法自动装配 WebTestClient

我正在尝试注入 WebTestClient 以使用 Spring Webflux 实现一些集成测试。

我必须加载一个使用此配置运行的 Redis 嵌入式软件:

@Configuration
@Profile("test")
public class EmbeddedRedisConfiguration {

    private RedisServer redisServer;

    public EmbeddedRedisConfiguration(@Value("${spring.redis.port}") int redisPort) {
        this.redisServer = new RedisServer(redisPort);
    }

    @PostConstruct
    public void postConstruct() {
        redisServer.start();
    }

    @PreDestroy
    public void preDestroy() {
        redisServer.stop();
    }

    @Bean
    @Primary
    public ReactiveRedisOperations<String, Foo> redisOperations(@Qualifier("redissonConnectionFactory") ReactiveRedisConnectionFactory factory) {

        Jackson2JsonRedisSerializer<Foo> serializer = new Jackson2JsonRedisSerializer<>(Foo.class);
        RedisSerializationContext.RedisSerializationContextBuilder<String, Foo> builder = RedisSerializationContext.newSerializationContext(new StringRedisSerializer());
        RedisSerializationContext<String, Foo> context = builder.value(serializer).build();

        return new ReactiveRedisTemplate<>(factory, context);
    }
}
Run Code Online (Sandbox Code Playgroud)

运行这个类

@ExtendWith(SpringExtension.class)
@SpringBootTest
@ActiveProfiles("test")
public class FooControllerIT …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-webflux

5
推荐指数
0
解决办法
2247
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1

spring-webflux ×1