Как Mock методы возвращают типы, если он вызывается асинхронно с использованием CompletableFuture - PullRequest
0 голосов
/ 25 сентября 2019

Я создал пул потоков из 100 потоков и вызвал три асинхронных вызова.Как я могу издеваться над асинхронными вызовами, которые возвращают объекты, подобные следующим, при написании модульных тестов:

  1. LocationDetail(finalUserInformation, placeInformation)
  2. pgData(finalUserInformation, pgInformation)
  3. userContactData(finalUserInformation, userContactList)
ExecutorService service = Executors.newFixedThreadPool(100);
Set<Callable<String>> callables = new HashSet<Callable<String>>();

UserInformation finalUserInformation = userInformation;
callables.add(new Callable<String>() {
    @Override
    public String call() throws JsonProcessingException {
        return LocationDetail(finalUserInformation,placeInformation);
    }});

callables.add(new Callable<String>() {
    @Override
    public String call() throws JsonProcessingException {
        return  pgData(finalUserInformation,pgInformation);

    }});

callables.add(new Callable<String>() {
    @Override
    public String call() throws JsonProcessingException {
        return usercontactData(finalUserInformation,userContactList);
    }});

try {
    List<Future<String>> futures = service.invokeAll(callables);
    for (Future<String> future : futures) {
        System.out.println(future.get());
    }

} catch (Exception e) {
            System.out.println(e);

} 
...