аргументы разные ошибки для mockservice в junit - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь обновить 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, почему он все еще получает ошибку "другой аргумент ..".

...