我正在使用 spring,并且在我的 Controller 方法中我期待一个查询参数
@RequestMapping(method = RequestMethod.GET)
public MyClass myMethod(
@ApiParam(defaultValue = "some string", value = "some text") @RequestParam("myParam") MyClass2 myParam) {
//do something
}
现在在 JUnit 测试中我想调用这个方法,为此我已经准备好了一个请求,但是我找不到 setQueryString()
MockHttpServletRequest request = new MockHttpServletRequest();
request.setRequestURI("/pathToMyMethod");
request.setQueryString(new MyClass2().toString());
构造一个新对象并对其调用toString()
不起作用。
(调用空构造函数正在创建具有随机值的对象)
故障追踪:
org.springframework.web.bind.MissingServletRequestParameterException:所需的 MyClass2 参数“myParam”不存在。
如何正确创建此类请求?
最佳答案
使用MockMvc .
mockMvc.perform(get("/").param("myParam", "paramValue"))
.andExpect(status().isOk());
关于java - 模拟服务器请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39743201/