从Spring3.2开始 Spring包含了一种mockSpringMVC并针对controller执行http请求的机制

如(该代码选自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等属性

最新文章

  1. iPhone开发基础教程_第二章
  2. 1036. Crypto Columns 2016 11 02
  3. String 归档
  4. java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition
  5. ecshop底部版权修改和组成分析
  6. 并发与多版本:update重启动问题
  7. python3、selenium、autoit3,通过flash控件上传文件
  8. 遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包
  9. 关于异或(Xor)的一点笔记
  10. CF 602B Approximating a Constant Range
  11. python 安装cv2
  12. Selenium自动化测试-unittest单元测试框架使用
  13. 当yum安装出现Error: Package: glibc-headers .....时
  14. mybatis教程6(逆向工程)
  15. 把文本数据转化为json
  16. 每日linux命令学习-rpm命令
  17. 【BZOJ】1187: [HNOI2007]神奇游乐园
  18. rsync同步目录
  19. 将驼峰转化为下化线(将型如AbcDef转化为abc_def)
  20. MySQL日志功能详解

热门文章

  1. MySQL 分区知识点(二)
  2. Unable to load native-hadoop library for your platform(已解决)
  3. LINUX CENTOS关机与重启命令详解
  4. Leetcode 969. Pancake Sorting
  5. Busybox shell脚本修改密码
  6. 2017-2018-1 20179215《Linux内核原理与分析》第十二周作业
  7. 利用python进行数据分析—数据清洗记录3,map,apply,
  8. HAWQ 操作笔记
  9. 终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月
  10. Python 函数之lambda、map、filter和reduce