我正在尝试测试以下方法,但得到了
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")));