springmvc mockmvc集成测试
2016-07-26 20:19
459 查看
1. 创建测试基类
package com.asiainfo.bsrp.common; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; /** * * @Description: springMVC web 测试的基类 * @author king-pan pwpw1218@msn.cn * @date 2014年11月6日 * @version V1.0 */ @SuppressWarnings("unused") @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration(locations={"classpath:**/*.service.xml","classpath:springmvc/springMVC.xml"}) public class SpringMVCTestBase extends AbstractTransactionalJUnit4SpringContextTests { @Autowired protected WebApplicationContext wac; protected MockMvc mockMvc; @Before public void setUp() { mockMvc = webAppContextSetup(wac).build(); } @Test public void test(){ Assert.assertTrue(true); } }
2. 创建测试类
package com.asiainfo.bsrp.dsms.web; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; import com.asiainfo.bsrp.common.SpringMVCTestBase; @RunWith(SpringJUnit4ClassRunner.class) public class DSControllerTest extends SpringMVCTestBase { @Test public void test(){ System.out.println(mockMvc); try { //打印结果到控制台 mockMvc.perform(post("/dsms/testConn").param("json", "{\"modelId\":\"100001\",\"age\":\"111\"}")).andDo(print()).andExpect(status().isOk()); } catch (Exception e) { e.printStackTrace(); } } }
3. 注意的地方
在步骤2test方法中使用的post,print等方法都是静态导入的,相关代码如下:import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
相关文章推荐
- 使用命令修改注册表键值及权限
- Fedora Linux 7 Test 4 发布 下载地址
- 自定义ubb代码,preg_replace()函数的一些代码
- php 正则表达式学习笔记
- 检测八位数字是否为有效日期的正则
- 向大家推荐一个收集整理正则表达式的网站
- 注意 JavaScript 中 RegExp 对象的 test 方法
- JS正则表达式详解[收藏]
- PHP 正则 email语句详解
- 经典JavaScript正则表达式实战(附pdf)
- 巧解 JavaScript 中的嵌套替换(强大正则)
- 正则表达式regular expression详述(二)
- 解决preg_match匹配过多字符长度的限制的思路分析
- 学习正则!超基础简单例子
- 正则表达式字面量在ECMAScript5中的变化
- PHP 正则的使用基础入门
- javascript 正则修正符
- 关于内容的分离,正则抽出图片(一定要加精哦)
- PHP 正则表达式 推荐
- 正则表达式中的反向预搜索实现