Как я могу написать метод Junit для Map
computeIfAbsent
. У меня есть код ниже -
CompletableFuture<Employee>[] employeeDetailFutures =
empIds.stream().map(empId ->
employeeCache.computeIfAbsent(empId, k -> employeeService.employeeDetails(Integer.valueOf(empId))))
.filter(Objects::nonNull)
.toArray(CompletableFuture[]::new);
Здесь employeeCache
- это Map
, и я хочу написать Junit для employeeCache.computeIfAbsent(...)
, пока я пробовал ниже, но каждый раз выглядит так, как будто новая карта создает и получает ноль
Map<String, CompletableFuture<Employee>> mockMap;
@Before
public void setUp() {
this.mockMap = Mockito.mock(Map.class);
}
when(mockMap.computeIfAbsent(any(), any()).thenReturn(CompletableFuture.completedFuture(Employee Object);
Каждый раз, когда я получаю нулевое значение для computeIfAbsent
. Что мне здесь не хватает.