Я пытаюсь обновить junit, передавая объект, но получаю «Аргументы - это разные ошибки»
Вот мой код: я обновил существующий dataController, dataService
DataController:
old method:
List<String> clientData= dataService .retrieveClientData(user, Clientroperties.product);
updated to:
dataIdCollector dataIdCollector = new dataIdCollector();
List<String> clientData= dataService .retrieveClientData(user, Clientroperties.product, dataIdCollector);
Вот класс dataService
DataService:
List<String> clientData retrieveClientData(user, Clientroperties.product, dataIdCollector){
List<ClientDetails> details = dataDao.getDetails(user, Clientroperties.product);
dataIdCollector.collectIds(details);
return serailizeClientDetails(details);
}
Я пытался обновить junit, передавая объект dataIdCollector
dataIdCollector dataIdCollector = new dataIdCollector();
when(mockService.retrieveClientData(user, Clientroperties.product, dataIdCollector))
.thenReturn(Arrays.asList("abc"));
String result = this.mockMvc.perform(
get("/rest" + RestApiRequestMapping.clientData)
.with(credentials)
.accept(MediaType.APPLICATION_JSON)
)
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
verify(mockService).retrieveClientData(user, Clientroperties.product,dataIdCollector);
здесь mock MVC конечная точка равна вызов метода в dataController. Объект dataIdCollector снова создается в классе контроллера и вызывает ошибку «Аргументы разные». как исправить эту проблему в junit?
Argument(s) are different!Wanted:
dataIdCollector@1fb71788
Actual invocations have different arguments:
dataIdCollector@8cb7185
mockservice не обновляет объект dataIdCollector, почему он все еще получает ошибку "другой аргумент ..".