使用MockMvc测试SpringMVC Controller
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MockMvc 是springTest提供的对SpringMvc提供的测试工具。这样可以让单元测试不仅仅局限于对Dao和Service 层的测试。同时,也可以测试Controller层。丰富的单元测试
千家信息网最后更新 2026年11月01日使用MockMvc测试SpringMVC Controller
MockMvc 是springTest提供的对SpringMvc提供的测试工具。这样可以让单元测试不仅仅局限于对Dao和Service 层的测试。同时,也可以测试Controller层。丰富的单元测试的功能。测试时不用频繁重启servlet容器,简化了测试操作。
MockMvc需要ServletContext来模拟用户的请求和相应。
首选,需要在测试类头部添加一下Annotation
@WebAppConfiguration@RunWith(SpringJUnit4Cla***unner.class)@ContextConfiguration(locations = { "classpath:spring/applicationContext.xml" })@WebAppConfiguration 用来引入servletContext
接下来就可以在junit中编写测试类了。
demo 1 有请求头、无参数的get请求
样例代码如下:
@Test public void 测试类() throws Exception { ResultActions reaction=this.mockMvc.perform(MockMvcRequestBuilders.get("/service/test/testController") .accept(MediaType.APPLICATION_JSON)//返回值接收json .header("Timestamp", "1496656373783") .header("AppId", "1003")); reaction.andExpect(MockMvcResultMatchers.status().isOk()); MvcResult mvcResult =reaction.andReturn(); System.out.println(mvcResult.getResponse().getContentAsString()); }demo 2 有请求头、有请求体的post请求
样例代码如下:
@Test public void 测试类() throws Exception { PolicyInfoRequest request=new PolicyInfoRequest(); request.setAnnualPremium(100); request.setPolicyNo("Test-222"); request.setPolicyRebate(0.28f); request.setPolicyType(1); request.setRebateAmount(28f); String jsonRequest=JSON.toJSONString(request); ResultActions reaction =this.mockMvc.perform(MockMvcRequestBuilders.post("/policy/info/save") .contentType(MediaType.APPLICATION_JSON)//请求体时json .header("Timestamp", "1496656373791") .header("AppId", "1003") .content(jsonRequest)); reaction.andExpect(MockMvcResultMatchers.status().isOk()); MvcResult mvcResult =reaction.andReturn(); System.out.println(mvcResult.getResponse().getContentAsString()); }以上两个例子就能基本覆盖解决使用springtest的MockMvc对Controller进行单元测试的需求。
测试
单元
代码
频繁
接下来
不仅仅
不用
两个
例子
功能
参数
同时
头部
容器
工具
测试工具
用户
需求
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
河南云网互联网络科技有限公司
朗新科技与工业互联网
金融科技创新监管互联网金融
互联网未来科技
紫鲸互联网科技
互联网科技排名
北京互联网络科技有限公司
互联网科技小额贷款
互联网科技汛
恒生科技互联网指数分析
互联网公司会议桌创意科技软装饰
阿里互联网科技公司
华夏互联网科技业
宜昌元轩互联网科技有限公司
2021互联网科技公司排名
启辰互联网科技
本届互联网大会上的黑科技
互联网金融运营模式中的金融科技
北京互联网科技类企业分布
山东特亿宝互联网科技有限公司
远拓互联网科技
互联网科技logo
互联网 科技服务平台
银川新华互联网科技学校地址
字节跳动和互联网科技
互联网软件和科技
重庆互联网医院沙龙医盟信息科技
中国航天科技大学国际工业互联网
消费医药和互联网科技