Как включить переменную пути в запрос GET для теста JUnit? - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь проверить следующий метод, но получаю

ParameterResolutionException: для параметра не зарегистрировано ParameterResolver.

Мой controller следующий:

@GetMapping("/get/{id}")
    public User getUserById(@PathVariable int id) {
        return userService.getUserById(id);
    }

И мой тест следующий:

    @Test
    void getUserById(Integer id) throws Exception {
        User user1 = new User(1, "FirstName", "LastName", "Address", 
        "1234566", "email@gmail.com");
        when(userService.getUserById(1)).thenReturn(user1);
        mockMvc.perform(MockMvcRequestBuilders.get("/get/{id}", "1"))
            .andExpect(status().isOk());
             assertEquals(userController.getUserById(1), user1);
    }

Как мне разрешить это исключение, чтобы пройти тест?

1 Ответ

0 голосов
/ 23 апреля 2020

Напишите свой макет MVC, как это.

val response = mockMvc.perform(MockMvcRequestBuilders.get("/get/1"))
                .andExpect(status().isOk())

и подтвердите ответ как ...

response.andExpect(jsonPath("$.your.object.path", is("your_expected_output")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...