zoukankan      html  css  js  c++  java
  • Mock InjectMocks ( @Mock 和 @InjectMocks )区别

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

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

    在此翻译记录一下:

    //译文Begin:

    @Mock: 创建一个Mock.

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

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

    [java] 
     
    1. @RunWith(MockitoJUnitRunner.class)  
    2. public class Test {  
    3.   
    4.     @InjectMocks  
    5.     private SomeHandler someHandler;  
    6.   
    7.     @Mock  
    8.     private OneDependency oneDependency; // 此mock将被注入到someHandler  
    9.   
    10.     // ...   
    11.   
    12. }  

    // 译文end.

    Credit to the questioner and answerer. 

  • 相关阅读:
    LeetCode124 二叉树中的最大路径和
    LeetCode100 相同的树
    LeetCode206 反转链表
    LeetCode460 LFU缓存
    LeetCode876 链表的中间结点
    hdu2767 强连通分量
    hdu1827 强连通分量
    模板 tarjan算法
    hdu2227 树状数组优化dp
    割点和桥
  • 原文地址:https://www.cnblogs.com/ThinkVenus/p/9001215.html
Copyright © 2011-2022 走看看