mock SpringMVC 测试控制器方法
2017-05-26 14:58
344 查看
从Spring3.2开始 Spring包含了一种mockSpringMVC并针对controller执行http请求的机制
如(该代码选自spring实战4):
mock 以及when thenreturn 的用法在我的理解看来就是 mock方法实现了一个接口对象 when thenreturn方法对该接口对象的方法写死传入参数及返回值 之后再利用mockMvc模拟http方法请求controller 并且验证view model等属性
如(该代码选自spring实战4):
public void shouldShowRecentSpittles() throws Exception{ List<Spittle> expectedSpittles = createSpittleList(20); SpittleRespository mockRepository = mock(SpittleRespository.class); when(mockRepository.findSpittles(Long.MAX_VALUE, 20)) .thenReturn(expectedSpittles); SpittleController controller = new SpittleController(mockRepository); MockMvc mockMvc = standaloneSetup(controller) .setSingleView( new InternalResourceView("/WEB-INF/views/spittles.jsp")) .build(); mockMvc.perform(get("/spittles")) .andExpect(view().name("spittles")) .andExpect(model().attributeExists("spittleList")) .andExpect(model().attribute("spittleList", CoreMatchers.hasItems(expectedSpittles.toArray()))); }
public interface SpittleRespository { List<Spittle> findSpittles(long max, int count); public Spittle findOne(long id); }
mock 以及when thenreturn 的用法在我的理解看来就是 mock方法实现了一个接口对象 when thenreturn方法对该接口对象的方法写死传入参数及返回值 之后再利用mockMvc模拟http方法请求controller 并且验证view model等属性
相关文章推荐
- [单元测试]PowerMock+SpringMVC整合并测试Controller层方法(一)
- [单元测试]PowerMock+SpringMVC整合并测试Controller层方法(二)
- 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers
- Spring+EasyMock对Service层方法进行测试,处理@Resource属性
- 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers(转)
- 使用Spring MockMvc 测试spring mvc 生成的EXCEL
- Spring中BeanUtils.copyProperties方法测试
- ASP.NET MVC测试方法与技巧
- 搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果(转)
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- Struts2+Spring 整合成功测试案例--整合过程中遇到的问题及解决方法(一)
- spring3 mvc系列二:方法返回值的学习(注解版)
- spring-mock + dbutil 用来测试数据库操作
- 利用 Spring2.5 和 Reflection 简化 mock 测试
- MVC area出现“找到多个与名为“Home”的控制器匹配的类型”错误的解决方法
- (Portal 开发读书笔记)Spring Portlet MVC 测试Controller
- Struts2与Spring3 MVC性能比较 (MVC性能测试)
- 搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果
- Asp.net Mvc Framework 十(测试方法及Filter的示例)
- JUNIT测试Hibernate和Spring的Dao层方法出现的问题