【发布时间】:2021-04-28 19:33:03
【问题描述】:
当 Pathvariable 是 String 但适用于 int 时,Mockmvc 测试不起作用。 这是我的代码:
@Controller
@RequestMapping("/etablissement/{typeEtablissement}")
public class EtablissementController{
@RequestMapping(method = RequestMethod.GET)
public String accueil(@PathVariable("typeEtablissement") String typeEtablissement) {
return "/test";
}
}
// somewhere in my test
mockMvc.perform(get("/etablissement/{typeEtablissement}", "test")).andExpect(status().isOk()); // Error 400
但是,如果我使用 int 而不是 String 它可以工作
@RequestMapping(method = RequestMethod.GET)
public String accueil(@PathVariable("typeEtablissement") int typeEtablissement) {
return "/test";
}
// somewhere in my test
mockMvc.perform(get("/etablissement/{typeEtablissement}", 123)).andExpect(status().isOk()); // Works
使用对象也可以
public String accueil(@PathVariable("typeEtablissement") Object typeEtablissement) {}
感谢您的帮助!
【问题讨论】:
标签: spring-boot spring-mvc mockito mockmvc