1、@Mock:mock对象,对函数的调用均使用mock,不会调用真实方法,使用:

Mockito.when(testService.getById(Mockito.any())).thenReturn(testPo);

2、@Spy:spy对象,对函数的调用是真实掉用,如果不想真实调用可以使用:

Mockito.doReturn(true).when(testService).save(Mockito.any());

3、@InjectMocks:创建一个实例,简单的说是这个Mock可以调用真实代码的方法,其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。

测试一个方法的时候往往会出现有的方法不想被调用的情况:

service:save(),save里面用到this.getById,这个getById也想mock掉,那么可以使用spy修饰service,然后使用doreturn实现即可

例子:http://cn.voidcc.com/question/p-trwebtub-ry.html

@Mock,@Spy和@InjectMock相关推荐

  1. Mockito cannot mock/spy because : - final class 问题

    Mockito cannot mock/spy because : - final class 问题 现象: 出现报错,且报错信息如下 Mockito cannot mock/spy because ...

  2. 单元测试框架 Mockito 注解 – @Mock, @Spy, @Captor, @InjectMocks

    转载翻译自 https://howtodoinjava.com/mockito/mockito-annotations/ 这篇 mockito 的教程文章能够帮助你了解更多 mockito 注解,比如 ...

  3. @Mock, @Spy, @Captor and @InjectMocks

    http://www.baeldung.com/mockito-annotations 1. Overview In this tutorial, we'll cover all the annota ...

  4. Mockito的使用(一)——@InjectMocks、@Spy、@Mock

    GItHub上有相应的翻译好的中文文档: https://github.com/hehonghui/mockito-doc-zh/blob/master/README.md#0 搭建Mockito测试 ...

  5. 单元测试源码分析之一创建mock对象

    之前已经介绍过Mockito和PowerMock的常见用法,PowerMock其实就是在Mockito的基础上使用了字节码技术使得其可以对静态方法,私有方法等进行插桩. 现在就先来看看Mockito是 ...

  6. mock powermock

    Mock 测试实际运用场景 解决前后端依赖,或者 架构中每一层之间的依赖 解决外部接口依赖 当需要调用某层API并且这个API现在还不可用 为什么会有mock TDD:测试驱动开发,其思想为根据需求抽 ...

  7. Android单元测试系列(3)-Mock之Mockito

    目录 一.官网 二.Demo示例 1. 目录结构 2. 被测试的类 3. 测试类 三.Mockito方法说明 1. mock对象创建 2. Mockito框架中的常见方法说明 2.1 常见的打桩方法 ...

  8. Mockito超全用例文档

    文章目录 一.mockito要注意的点 1. mock的对象直接调用其方法会返回null 2.执行真实的被测试方法 3.verify测试是否被调用 4.激活mock功能的几种方式 二.mock对象的方 ...

  9. 软件测试方法单元测试例子,service单元测试例子

    @Test(timeout = 10) 测试,该注解必须加到方法上 timeout超时时间,单位是毫秒 终止死循环,当达到设定的值,结束循环 @Ignore 忽略不想被测试的方法,该注解必须加到方法上 ...

最新文章

  1. 固态硬盘是什么接口_SATA接口和M.2接口的固态硬盘哪个好?SATA接口和M.2接口的区别...
  2. latex sr 中一些对齐和表格问题及总结
  3. virtualbox 创建桥接网络_Windows 10下的Virtualbox中的桥接网络不起作用
  4. Extjs4 radiogroup打开时的被选中值设置为变量
  5. SQL 性能优化梳理
  6. [js] 用js写一个方法检测浏览器是否支持css3的属性
  7. c#程序打包,同时把netframework也打包进去
  8. Linux的history命令
  9. 使用keras和tensorflow进行minst数据集图像分类
  10. 量子计算和量子加密的基础问答
  11. Qt - 一文理解QThread多线程(万字剖析整理)
  12. 高光谱图像分析:分类 I
  13. java毕业设计产品销售管理系统Mybatis+系统+数据库+调试部署
  14. S3C2440c语言汇编传参点灯
  15. 精通CSS-网页排版
  16. [CSS揭秘]菱形图片
  17. 揭迷网络达人另类赚钱秘笈
  18. sandboxie游戏不能运行在虚拟环境中如何解决_Sandboxie:这款曾卖一百多的知名沙盘软件,现在免费开源了...
  19. USB1.1 协议开发
  20. HTML+CSS绘制太阳系九大行星运行轨迹

热门文章

  1. Html和Css的学习,怎样才能快速且有效的学习前端的基本发展路径
  2. 对偶上升法 (Dual Ascent)
  3. ERwin 建模基础教程
  4. python长沙培训学校
  5. linux wall(write all) 命令详解
  6. adjtimex和时钟的几个概念tick,freq,ppm,jiffies
  7. Keras 深度学习框架方法及参数
  8. 10 年 bloger 告诉你要不要写博客,又该如何优雅地写博客?
  9. matlab如何做正交多项式曲线拟合,matlab正交多项式拟合
  10. Oracle-标识符无效问题