Java 模拟服务器请求

Java 模拟服务器请求,java,spring,servlets,junit,Java,Spring,Servlets,Junit,我使用的是spring,在我的控制器方法中,我需要一个查询参数 @RequestMapping(method = RequestMethod.GET) public MyClass myMethod( @ApiParam(defaultValue = "some string", value = "some text") @RequestParam("myParam") MyClass2 myParam) { //do something

我使用的是spring,在我的控制器方法中,我需要一个查询参数

@RequestMapping(method = RequestMethod.GET)
    public MyClass myMethod(
            @ApiParam(defaultValue = "some string", value = "some text") @RequestParam("myParam") MyClass2 myParam) {
            //do something
        }
现在,在JUnit测试中,我想调用这个方法,为此我预先准备了一个请求,但是我找不到一个正确的方法来
setQueryString()

构造新对象并在其上调用
toString()
无效。 (调用空构造函数正在创建具有随机值的对象)

故障跟踪:
org.springframework.web.bind.MissingServletRequestParameterException:必需的MyClass2参数“myParam”不存在。

如何正确创建此类请求?

使用

使用


我正在尝试这种方法,但它表明错误
类型ResultActions的方法参数(String,String)未定义。我的错
param
get(“/”)
之后调用。是否有类似于
.param()
的方法来传递URI参数?基本上,您只需要说一些类似于
get(“/{id}”,5)
的话。我尝试这样做,但它表明错误
类型resultations的方法参数(String,String)未定义。我的错
param
get(“/”)
之后调用。是否有类似于
.param()
的方法来传递URI参数?基本上,您只需要说一些类似于
get(“/{id}”,5)
MockHttpServletRequest request = new MockHttpServletRequest();
request.setRequestURI("/pathToMyMethod");
request.setQueryString(new MyClass2().toString());
 mockMvc.perform(get("/").param("myParam", "paramValue"))
     .andExpect(status().isOk());