之前一直对这两个注解的区别不是很明白。

搜到过一篇博客园的文章举例说明了代码行为的区别。后来在stackoverflow上看到一个问答简单明了的解释了这两个注解在定义上的区别:

在此翻译记录一下:

//译文Begin:

@Mock: 创建一个Mock.

@InjectMocks: 创建一个实例,其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。

注意:必须使用@RunWith(MockitoJUnitRunner.class)Mockito.initMocks(this)进行mocks的初始化和注入。

@RunWith(MockitoJUnitRunner.class)
public class Test {@InjectMocksprivate SomeHandler someHandler;@Mockprivate OneDependency oneDependency; // 此mock将被注入到someHandler// ... }

// 译文end.

Credit to the questioner and answerer.

Mock InjectMocks ( @Mock 和 @InjectMocks )区别相关推荐

  1. Java注解@Mock和@InjectMocks及@Mock和@Spy之间的区别

    Java注解@Mock和@InjectMocks及@Mock和@Spy之间的区别 1.@Mock和@InjectMocks的区别 @Mock为您需要的类创建一个模拟实现. @InjectMocks创建 ...

  2. html网页中使用mock,关于Mock.js使用

    目前在做一个个人网站,写了一半没有数据填充,也不知道写啥了,就顺带学习下mockjs这个东西,官网上主要介绍它是一个可以随机生成各种类型数据,拦截ajax请求等优点.接下来就近距离结束下mockjs吧 ...

  3. 【全面解析Mock】Mock在单元测试中扮演一个什么角色?

    目录 一.Mock在单元测试中扮演一个什么角色 二.测试准备 三.使用Mock的理由 四.使用Python Mock 五.MagicMock类 六.mock.create_autospce 七.moc ...

  4. React 16 + Jest单元测试 之 Mock Functions(Mock Names 和 Custom Matchers)

    转载 React 16 + Jest单元测试 之 Mock Functions(Mock Names 和 Custom Matchers) 项目初始化[这里使用之前的项目,节省时间] 项目初始化地址 ...

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

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

  6. python mock_Python中使用mock.Mock()进行mock测试

    先来一个简单的例子: importrequestsfrom unittest importmockdefrequest_lemonfix():""":return:&qu ...

  7. Android单元测试 mock Context,mock静态类的静态方法,测试方法的顺序

    mock Context 我们写单元测试时,经常会用到context对象,但是直接使用context经常报空指针异常 正确的mock方式如下 1.添加变量 @Mock private Context ...

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

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

  9. Mock和Java单元测试中的Mock框架Mockito介绍

    什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象.程序员通常创造模拟对象(mock object)来测试其他对象 ...

最新文章

  1. 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 | LruCache 内存缓存 | LruCache 常用操作 | 工具类代码 )
  2. 编码方式_机器学习中常用的编码方式
  3. 使用Gradle的maven-publish插件发布快照
  4. Delphi 完整的Bug决议工具EurekaLog的使用
  5. 年后跳槽 BAT 必看,10 种干货帮你 Offer 拿到手软!
  6. 远程桌面服务器怎么重启计算机,电脑怎么样远程重新启动
  7. SQL Server 2014新特性探秘(1):内存数据库
  8. 系统动力学 matlab,MATLAB引擎在系统动力学仿真中的应用.pdf
  9. 打开Excel文件需要两次才能打开文件解决办法
  10. GLM 中的mat4
  11. 学习《软件工程》心得
  12. 腾讯2018秋招正式笔试题目——拼凑硬币
  13. 自适应模糊PID在反应釜温度控制中的应用
  14. 洛谷P1039 侦探推理
  15. Docker与微服务实战2022:基础篇
  16. python量化交易书籍推荐知乎_GitHub - XingkaiLiang/vnpy: 基于python的开源量化交易平台开发框架...
  17. Swift [UInt8]转16进制字符串
  18. 完数什么意思_苹果序列号字母和数字都代表什么含义 iPhone的序列号字母与数字含义...
  19. TZOJ4900:个人所得税
  20. 安全合规--39--基于欧美法律法规的企业隐私合规体系建设经验总结(三)

热门文章

  1. oracle统计最高学历,数据库薪酬调查:学历与经验哪个重要?
  2. 单片机怎样用汇编语言设计一个输出为6KHZ,占空比为45%的波形
  3. 基于Verilog键盘的实现
  4. 第十九篇 | Linux命令之ps/kill/top
  5. ITE IT66353FN/AW HDMI 重新定时器开关
  6. 随机过程(三)平稳随机过程
  7. 【220221】838.推多米诺
  8. html5 table样式css,css表格样式的布局篇
  9. 【USACO】Haywire
  10. mysql workbench 修改字体大小