springmvc mock单元测试
来源:互联网 发布:on淘宝旗舰店 编辑:程序博客网 时间:2024/05/22 18:23
web项目在进行单元测试时,一般的做法是将项目部署到web容器中,通过HttpClient、或者浏览器对某一个功能进行测试,效率非常低。下面介绍下spring test提供的mock测试功能,可以非常方便地完成web项目的单元测试。
首先写个测试父类,其它测试类只需要继承该父类即可。注意:可以通过编码的方式添加Filter过滤器,下面的示例代码中添加了SsoFilter拦截器。
/** * 使用mock测试web服务 * @author huangxf * @date 2017年4月12日 */@WebAppConfiguration(value="src/main/webapp")@ContextConfiguration( locations={"classpath*:spring-config/core/application-*.xml", "classpath*:spring-config/core/springmvc-servlet.xml"} )@RunWith( SpringJUnit4ClassRunner.class )public class BaseControllerTest extends AbstractJUnit4SpringContextTests { @Resource protected WebApplicationContext wac; protected MockMvc mockMvc; @Before public void beforeTest() { Filter ssoFilter = new SsoFilter(); mockMvc = MockMvcBuilders.webAppContextSetup( wac ).addFilters( ssoFilter ).build(); }}
编写XXXTest继承BaseControllerTest,使用父类提供的mockMvc发起请求
/*** 使用mock对PaymentController服务进行测试* @author huangxf* @date 2017年4月12日*/public class PaymentControllerTest extends BaseControllerTest { private Logger logger = LoggerFactory.getLogger( this.getClass() ); @Test public void testQueryPayModes() throws Exception { String json = "{data:{\"partnerId\":\"10000\",\"accessMode\":\"H5\"}}"; MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders. post("/pay/getPayModeList").contentType( MediaType.APPLICATION_JSON_UTF8 ) .accept( MediaType.APPLICATION_JSON_UTF8 ); requestBuilder.content( json ); //请求 MvcResult result = mockMvc.perform( requestBuilder ) .andDo( MockMvcResultHandlers.print() ) .andReturn(); //获取响应数据 String response = result.getResponse().getContentAsString(); logger.info( "====Response====\n{}", response ); //对数据进行解析 PaymentResponse<List<PayModeResp>> resp = JsonUtils.toBean( response, new TypeReference<DefaultResponse<List<PayModeResp>>>(){} ); assertEquals( resp.getRetCode(), "000000" ); }}
阅读全文
1 0
- springmvc mock单元测试
- 单元测试中的Mock对象
- 单元测试中的Mock
- 单元测试中的Mock对象
- 单元测试中的Mock对象
- hadoop mock 单元测试
- 单元测试中的Mock
- spring-mock单元测试新方法
- 单元测试-mock技术基础
- 单元测试之模拟Mock
- 单元测试——Mock
- 单元测试之Mock
- Spring Mock单元测试
- 使用mock进行单元测试
- 单元测试和Mock方法
- 单元测试之Mock
- 单元测试Mock使用方法
- Mock单元测试模板
- x264_param_t结构体解释,设置及对应函数位置
- was版本过期”或提示“该产品将在 60 天内到期”时,我们可以通过手工的方式解决过期问题:
- 归并排序
- Android数据解析JSON解析之手动JSON解析
- JAVA线程池的理解
- springmvc mock单元测试
- 总结20170821
- 卡特兰数的应用(易懂版)
- spring-data-jpa hiberneate 中 uui的生成策略
- qtableview及其相关应用的使用
- Linux curl命令详解
- 关于通过Eclipse上传文件到HDFS文件为空的问题
- 推荐几个学习java的网站
- Eth-trunk链路聚合