如何在GET Request for JUnit Test中包含路径变量



我正在尝试测试以下方法,但得到了

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);
}

如何解决此异常以使测试通过?

这样编写mockMVC。

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

并以类似…的回应断言。。。

response.andExpect(jsonPath("$.your.object.path", is("your_expected_output")));

相关内容

最新更新