【发布时间】:2023-03-15 17:26:01
【问题描述】:
我为Handler(spring weblux)写了一个测试
测试:
@Test
public void checkServicesHandlerTest(){
Request request = new Request();
request.setMsisdn("ffdfdfd");
this.testClient.post().uri("/check")
.body(Mono.just(request), Request.class).exchange().expectStatus().isOk();
}
但结果我有一个错误。
Timeout on blocking read for 5000 MILLISECONDS
处理程序很简单
public Mono<ServerResponse> check(ServerRequest request){
Request request = request.bodyToMono(Request.class).block();
问题出在哪里?但是如果我直接向服务器发送请求,一切都可以。
【问题讨论】:
-
这是您的整个处理程序实现吗?强烈建议不要在处理程序中使用
block(),这可能是根本问题。 -
谢谢。没有阻塞地写,它工作正常。你也能推荐一个关于reator3或weblux的好课程吗?
-
那你能回答你自己的问题吗?这可能会帮助其他 SO 用户。
-
@BrianClozel 我看到了同样的问题。我有一个集成测试(使用 Junit5,它是 Spring boot 2.0.0.RC1),它让所有用户都可以调用内部从表中获取它的 Web 服务,并且该表最多可以有 50-60 个用户。我看到当用户是 15-20 人时,测试过去常常通过。现在失败了。请指教。
标签: java spring-webflux