使用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安全错误
数据库的锁怎样保障安全
什么是科技互联网
有格互联网科技
新华互联网科技学院
互联网 科技创新
青岛互联网科技公司
碳银互联网科技
深圳齐家互联网科技
银优互联网科技有限公司
互联网女皇 腾讯科技
米客互联网科技
广西互联网科技公司
佰商互联网科技有限公司
互联网科技素材视频竖屏
现代科技和互联网有关系吗
昭通云南众福互联网科技有限公司
互联网系的金融科技公司
呼和浩特新华互联网科技学院
互联网金融科技公司的优势
国产互联网科技公司
山东蛋芒互联网科技有限公司
山东特亿宝互联网科技有限公司
为想互联网科技
紫鲸互联网科技
北京互联网络科技有限公司
润盈互联网科技
甘肃拓世互联网科技有限公司
互联网时代科技改变生活
梅州GM互联网络科技有限公司
昆明中奇联合互联网科技
知域互联网科技有限公司官网