求助,SpringMVC用Junit4测试Controller中参数是实体类的方法时应该怎么写?

Anapeach 2018-07-05 04:47:24
如下,当controller方法参数是String时可以这样写,那如果传入的是一个实体类呢?
@Test
public void checkUserSignIn() throws Exception {
MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/signin/check").param("typeId","1003"))
.andExpect(MockMvcResultMatchers.status().is(200))
.andDo(MockMvcResultHandlers.print())
.andReturn();
int status = mvcResult.getResponse().getStatus();
System.out.println("请求状态码:" + status);
String result = mvcResult.getResponse().getContentAsString();
System.out.println("接口返回结果:" + result);
JSONObject resultObj = JSON.parseObject(result);

}
...全文
458 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-07-06
  • 打赏
  • 举报
回复

@Test
public void checkUserSignIn() throws Exception {
MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/signin/check").content(JSON.toJsonString(你的对象)))
.andExpect(MockMvcResultMatchers.status().is(200))
.andDo(MockMvcResultHandlers.print())
.andReturn();
int status = mvcResult.getResponse().getStatus();
System.out.println("请求状态码:" + status);
String result = mvcResult.getResponse().getContentAsString();
System.out.println("接口返回结果:" + result);
JSONObject resultObj = JSON.parseObject(result);

}


MockMvcRequestBuilders.get("/api/signin/check").content(JSON.toJsonString(你的对象))
把对象转成json,把字符串丢到content里即可
Anapeach 2018-07-05
  • 打赏
  • 举报
回复
比如controller中的方法是这样时,要如何测试呢,求助大神

public R checkUserSignIn(@RequestBody User user){
/*...*/
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧