spring mvc test by mock
来源:互联网 发布:淘宝明星zero距离签名 编辑:程序博客网 时间:2024/06/05 17:43
我们在写spring mvc controller时,一般情况下都是在浏览器测试
但是有时候,我们写的controller提供的是api接口,这时我们该怎么测试呢?
这时 spring mvc 给我们提供了一个很好的测试方法,mock test
多的不说了,直接看代码:
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;import java.util.Date;import javax.annotation.Resource;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.test.BasicRespMessage;import org.test.controller.TestController;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpServletResponse;import org.springframework.test.annotation.Rollback;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;@ContextConfiguration(locations = { "classpath*:spring/app-config.xml", "classpath*:spring/mvc-config.xml" })@WebAppConfiguration@RunWith(SpringJUnit4ClassRunner.class)public class TestController extends AbstractTransactionalJUnit4SpringContextTests { @Resource private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = webAppContextSetup(this.wac).build(); } @Test @Rollback(false) public void test0() throws Exception { TestController controller = (TestController) this.applicationContext.getBean("testController"); MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setMethod("POST"); request.addParameter("subject", "数学"); request.addParameter("grade", "66"); // 六年级 request.addParameter("time", new Date().getTime() + ""); request.addParameter("sign", new Date().getTime() + ""); BasicRespMessage m = controller.test0(request, response); System.out.println("--------->" + m.getStatusCode() + "<===>" + m.getStatusDesc() + "<===>" + m.getBody()); } @Test public void test1() throws Exception { this.mockMvc.perform(// put("/test/test0")// .param("subject", "数学") // .param("grade", "66") // // 六年级 .param("time", new Date().getTime() + "") // .param("sign", new Date().getTime() + "")) // .andExpect(status().isOk())// .andDo(print()) .andReturn(); }}
test0 method 是直接调用controller的method
test1 method 是请求url地址
0 0
- spring mvc test by mock
- spring Mock Test
- spring-test 加 mock
- Spring MVC MOCK测试
- spring-mock for unit test 注意事项
- spring test集成resteasy mock单元测试
- spring MVC mock类单元测试(controller)
- Spring MVC test
- spring-mvc-test(单元测试)
- Spring MVC Test Framework简译
- Spring MVC的单元测试和集成测试(不使用mock)
- 使用Mock 对spring mvc 的controller层进行单元测试
- Spring MVC的单元测试和集成测试(不使用mock)
- Mock in Test
- google test mock入门
- Spring MVC Step by Step
- 009 spring mvc controller unit test
- spring-test中关于servlet的mock的使用和扩展。
- IOS编译警告之:performSelector may cause a leak because its selector is unknown
- 民间版知乎用户分析报告
- android launcher创建删除判断是否存在快捷方式
- UI基本知识
- web项目启动完成执行某个方法
- spring mvc test by mock
- online_judge_1011
- TextureView官方Demo
- apache mode_proxy反向代理tomcat
- jquery基础学习小例子
- 数学知识
- UIWebView之获取所点位置图片URL
- ajax post
- C++之动态链接库和静态链接库归纳…