Как выполнить модульное тестирование метода в java, в котором есть асинхронные вызовы, с помощью Mockito - PullRequest
0 голосов
/ 30 мая 2020

У меня есть класс ниже, в котором метод имеет вызов CompletableFuture.supplyAsyn c и возвращает CompleteableFuture Как я могу выполнить модульное тестирование этого метода? Пожалуйста, проверьте ниже для получения более подробной информации

public class ServiceA {

    private final ThreadPoolTaskExecutor taskExecutor;
    private final ClassA objA;
    private final ClassB objB;


    public CompletableFuture<ResponseEntity> methodA(Object obj,  int number) {

        validating(obj)

        someProcessing(obj, userId);


        CompletableFuture.supplyAsync(() ->
                                       objA.getData(num,obj), taskExecutor)
                        .thenApply(response -> convertToSomething(response,obj))
                        .thenAccept(response -> objB.doSomeThing(response,
                                                                          arg)))
                        .exceptionally(throwable -> {

                            return null;
                        })
                        .thenAccept(val -> ResponseEntity.ok().build())
                        .join();

        return CompletableFuture.completedFuture(ResponseEntity.ok()
                                                               .build());
    }
  }

Мне нужен метод модульного тестирования A. Кто-нибудь может мне помочь? Заранее спасибо

...