java.lang.IllegalStateException: время ожидания при блокировке чтения в модульных тестах webflux - PullRequest
0 голосов
/ 26 января 2019

У меня есть клиент и список пользователей. Я получаю список клиентов, и для каждого пользователя я заполняю дополнительные данные, такие как его кредитная история. У меня есть код, как показано ниже. Сам код работает правильно, когда я запускаю сервер, однако мой интеграционный тест всегда дает сбой. Может кто-нибудь сказать мне один, я могу подойти к решению для этого?

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
...