Тестовый метод Junit - не удается разрешить символ '.ok ()' - PullRequest
0 голосов
/ 13 июня 2018

Здравствуйте, я хочу использовать метод response в моем junit test методе, но у меня есть ошибка: cannot resolve symbol 'response'

В чем причина или, возможно, вы знаете другой методчто я могу заменить в этом месте?

Это мой метод:

@PostMapping("/addPeopleToTeams/{teamId}/{personId}")
@ResponseBody
public ResponseEntity<?> addPeopleToTeam(@PathVariable Long teamId, @PathVariable Long personId) {
    TeamsAndPersonsId teamsAndPersonsId = new TeamsAndPersonsId(personId, teamId);
    teamService.findTeamById(teamsAndPersonsId.getTeamId());
    personService.findById(teamsAndPersonsId.getPersonId());
    teamService.addPersonsToTeams(personId, teamId);
    return ResponseEntity.ok(teamsAndPersonsId);

}

А вот мой тестовый код:

@Test
    public void shouldAddPersonToTeam() throws Exception {
        // Given
        TeamDto teamDto = prepareTeamDto();
        PersonDto personDto = preparePersonDto();
        // When
        when(teamService.createTeam(teamDto)).thenReturn(Response.ok().build());
        when(personService.addPerson(personDto)).thenReturn(Response.ok().build());
        // than
        mockMvc.perform(post("/addPeopleToTeams/{teamId}/{personId}", 1, 1))
                .andExpect(status().isOk());

    }

Этот элемент (Reponse.ok() .build ());после этого возврат не работает.

1 Ответ

0 голосов
/ 13 июня 2018

Я предполагаю, что импорт Response НЕ верен.

В отдельном примечании производственный класс использует ResponseEntity.ok(teamsAndPersonsId), но ваш тестовый блок имеет класс Mocking Response.Убедитесь, что вы используете в своем модульном тесте фиктивный объект того же класса.

См. Как выполнить модульное тестирование контроллера Spring MVC с помощью @PathVariable? для тестового примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...