开发者社区> 问答> 正文

无法自动连线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);
    }
}

上课

@ExtendWith(SpringExtension.class)
@SpringBootTest
@ActiveProfiles("test")
public class FooControllerIT {

    @Autowired
    WebTestClient webTestClient;

    @Test
    public void testSomething() {
          // do something
    }
}

我收到此错误:

No qualifying bean of type 'org.springframework.test.web.reactive.server.WebTestClient' available: expected at least 1 bean which qualifies as autowire candidate

如果我改变这一行

@SpringBootTest

到这条线

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

WebTestClient可用于自动装配,但是应用程序会在我的测试配置文件配置之前启动,无法连接到嵌入式Redis:

Factory method 'redisson' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379

有没有注入WebTestClient而不启动web环境的方法,还是有办法在其他事情之前加载我的嵌入式redis配置?

编辑

看来问题是那js RedissonAutoConfiguration 是

展开
收起
垚tutu 2019-11-29 23:18:33 1595 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《EdgeRoutine 边缘程序》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载