Как я могу использовать Argument Captor при вызове частного метода?
У меня есть контроллер, как показано ниже:
// The controller
public ResponseEntity<AObject> getConfig(
@PathVariable AService service, @PathVariable String id
) {
String returnData = privateMethod(id, service);
return ResponseEntity.ok(URLEncoder.encode(returnData, UTF-8););
}
// The private method
private String privateMethod(String id, AService service) {
//do something and return
}
И мой тест выглядит следующим образом:
String id = String.valueOf(faker.random().nextLong());
AService service = AService.BOOKING;
mockMvc.perform(get(END_POINT + "/appointment/{service}/{appointmentId}", service, id))
.andExpect(status().isOk());
Итак, я хочу подтвердить, что параметры (service, id) были переданы именно частному методу!
В другом случае, когда используется служба, я могу использовать ArgumentCaptor и утверждать, что: т.е.
ArgumentCaptor<Long> idArgumentCaptor = ArgumentCaptor.forclass(Long.class)
Long id = faker.random().nextLong();
...
Mockito.when(bService.load(idArgumentCaptor.capture())).thenReturn(dataReturn);
...
mockMvc.perform(get(END_POINT + "/{id}", id)).andExpect(status().isOk());;
...
Assertions.assertThat(id).isEqualTo(idArgumentCaptor.getValue());
А вот с приватным методом не могу! Не могли бы вы мне помочь! Спасибо!