基本使用方法:

http://zhongl.iteye.com/blog/296136

一、问题:如何将mock的类自动注入到待测类,特别是在没有setter方法的情况下。

解答:

前提:待测的service类及其依赖的其他类都是处在被spring管理中的。

做法:在测试类中,只要将待测的类标注为@InjectMocks,将其依赖的其他类标注为 @Mock,

就可以使用MockitoAnnotations.initMocks(this);这句话自动将依赖的类注入待测类,如果依赖类在spring的管理下有自己的name,那么甚至在待测类中都不需要写setter方法。

例:

1、待测类

@Component("abcService")

public class AbcService {

@Resource(name="aaaDao")

private AaaDao aaaDao;

@Resource(name="bbbDao")

private BbbDao bbbDao;

......//注:此处省略的代码中并不包含aaaDao和bbbDao的setter方法。

}

2、测试类

public class AbcServiceTest{

@InjectMocks

AbcService abcService;

@Mock

AaaDao aaaDao;

@Mock

BbbDao bbbDao;

@Before

public void setup(){

MockitoAnnotations.initMocks(this);//这句话执行以后,aaaDao和bbbDao自动注入到abcService中。

//在这之后,你就可以放心大胆地使用when().then()等进行更详细的设置。

}

}

参考资料 :

http://www.cnblogs.com/alphablox/archive/2012/12/09/2810538.html

http://www.cnblogs.com/alphablox/archive/2013/04/06/3002152.html

二、问题:如何对连续的调用进行不同的返回 

参考资料:

http://qiuguo0205.iteye.com/blog/1456528

Mockito单元测试框架学习的更多相关文章

  1. 一文让你快速上手 Mockito 单元测试框架

    前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多 ...

  2. Pytest单元测试框架-学习

    pytest: Python的一个单元测试框架,基于UnitTest二次开发,语法上更加简洁,可以用来做Python开发项目的单元测试,UI自动化.接口自动化测试等,有很多的插件访问Pytest插件汇 ...

  3. spring框架学习(三)junit单元测试

    spring框架学习(三)junit单元测试 单元测试不是头一次听说了,但只是听说从来没有用过.一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的.学 ...

  4. Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. ...

  5. UI自动化学习笔记- UnitTest单元测试框架详解

    一.UnitTest基本使用 1. UnitTest框架 1.1 什么是框架 说明: 框架英文单词frame 为解决一类事情的功能集合 1.2什么是UnitTest框架 概念:UnitTest是pyt ...

  6. Python单元测试框架unittest之深入学习

    前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...

  7. android 学习随笔三(测试与单元测试框架)

    测试 1.按岗位: 黑盒测试:测试业务逻辑 白盒测试:测试逻辑方法 2.按测试粒度 方法测试 function 单元测试 unit 集成测试 integration 系统测试 system 3.按暴力 ...

  8. Python+Selenium学习笔记16 - unittest单元测试框架

    unittest单元测试框架包括 Test Case,  Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Run ...

  9. JUnit + Mockito 单元测试(二)

    摘自: http://blog.csdn.net/zhangxin09/article/details/42422643 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 入门 ...

随机推荐

  1. ny325 zb的生日,ny456邮票分你一半

    zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝 ...

  2. 【Maven】Maven的安装与入门使用

    它也是实现项目各个环节的好帮手,如编译.单元测试.打包.发布,等等.按照它的流程走,可以让我们养成严谨的习惯. 同时,我们用得很多的是用它下载JAR,想想以前,以前框架的包都是自己一个一个爬官网下载的 ...

  3. quartz 实现调度任务 SchedulerManager

    package cn.com.do1.component.common.util; import org.quartz.*; import org.quartz.impl.StdSchedulerFa ...

  4. Python IDLE快捷键【转载合集】

    转载自:http://www.douban.com/note/212321426/ 编辑状态时:Ctrl + [ .Ctrl + ] 缩进代码Alt+3 Alt+4 注释.取消注释代码行Alt+5 A ...

  5. vi-vim :删除、撤销、恢复删除、复制删除

    删除 1 删除命令 vi命令 操作键 x 删除当前光标处的字符 X 删除光标左边的字符 D 删除从当前光标到本行末尾的字符 J 删除两行之间的换行符 (亦可用于合并两行) dmove 删除从当前光标到 ...

  6. jfinal控制器添加多个拦截器

    @Before({a_Interecptor.class,b_Interecptor.class}) public class aaController(){ } 参考:http://www.cnbl ...

  7. Springmvc mvc:exclude-mapping不拦截 无效

    最近在使用ssm框架搭建一个后台,需要判断每个请求都判断是否登录,未登录跳转到登录页面, 使用发现 mvc:exclude-mapping 不拦截,发现,怎么都无效,依然是进行拦截.查了很多资料,总算 ...

  8. ExtJS获取Grid的行数

    1.     grid.getSelectionModel().getCount() ;  // 获得当前选中的行数  2.     grid.getStore().getTotalCount();  ...

  9. EFM32 DMA/PRS例程

    /**************************************************************************//**  * @file  * @brief H ...

  10. javascript那些不应该忽视的细节

    1.null与Object.prototype使用typeof操作符结果都是object,但他们都不是Object的实例. typeof null // object null instanceof ...