java.lang.IllegalStateException:在webflux单元测试中阻止读取超时

时间:2019-01-26 04:52:53

标签: unit-testing spring-webflux project-reactor

我有一个客户和一个用户列表。我正在检索客户列表,并为每个用户填充其他详细信息,例如他的信用记录。我有下面的代码。当我运行服务器时,代码本身可以正常工作,但是我的集成测试始终失败。有人可以告诉我一个我可以解决的方法吗?

class Customer {
  int customerId;
  List<User> users;
}
@GetMapping("/customers")
public Flux<Customer> getCustomers() {
    Flux.fromIterable(customerRepo.findByCustomerIdIn(1,2))
      publishOn(Schedulers.elastic())
      flatMap(customer -> Flux.fromIterable(customer.getUsers())
         .map(user -> 
           { 
             user.setCreditHistory(creditHistory.findByUserId(user.getId())
             return customer;
           }));
}
// Unit test
webTestClient.get().uri("/customers")
  .exchange().expectStatus().isOk(); // This just times out always whereas the service works fine if started as Spring application

0 个答案:

没有答案