亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mock和@InjectMocks的區(qū)別及說明

 更新時(shí)間:2024年11月11日 09:12:59   作者:有點(diǎn)野的程序猿  
@Mock和@InjectMocks是Mockito框架中的兩個(gè)注解,前者用于創(chuàng)建模擬對(duì)象,后者用于將模擬對(duì)象注入到被測(cè)試類中

@Mock和@InjectMocks的區(qū)別

@Mock和@InjectMocks是Mockito框架中的兩個(gè)注解。

@Mock

  • 用于創(chuàng)建模擬對(duì)象,創(chuàng)建的模擬對(duì)象的屬性值都適用默認(rèn)值進(jìn)行初始化,基本數(shù)據(jù)類型例如int默認(rèn)為0,boolean默認(rèn)為false,對(duì)于引用數(shù)據(jù)類型都是用null進(jìn)行初始化。
  • 通過該注解可以創(chuàng)建一個(gè)模擬對(duì)象,模擬對(duì)象具有被模擬的類的相同行為,并且允許自己定義方法的返回值和行為。

@InjectMocks

  • 用于將模擬對(duì)象注入到被測(cè)試類中的相應(yīng)字段
  • 通過該注解可以自動(dòng)將模擬對(duì)象注入到被測(cè)試類中標(biāo)記為@InjectMocks的字段中
  • 可以理解為使用@Mock創(chuàng)建出來的對(duì)象注入到@InjectMocks創(chuàng)建的對(duì)象中
  • 這樣被測(cè)試類就可以使用模擬對(duì)象作為其依賴了

代碼示例

public class AClassTest{
    @Mock
    private AClass aClass;
    @Test
    public void testMethodA() {
        //使用aClass進(jìn)行測(cè)試
    }
}

public class BClassTest{
    @Mock
    private AClass aClass;
    
    @InjectMocks
    private BClass bClass;
    
    @Test
    public void testMethodB() {
        //使用bClass進(jìn)行測(cè)試,其中aClass已經(jīng)被注入到了bClass中了
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計(jì)模式之原型模式詳細(xì)解讀

    Java設(shè)計(jì)模式之原型模式詳細(xì)解讀

    這篇文章主要介紹了Java設(shè)計(jì)模式之原型模式詳細(xì)解讀,原型模式屬于創(chuàng)建型設(shè)計(jì)模式,用于創(chuàng)建重復(fù)的對(duì)象,且同時(shí)又保證了性能,該設(shè)計(jì)模式的好處是將對(duì)象的創(chuàng)建與調(diào)用方分離,需要的朋友可以參考下
    2023-12-12
  • Java中的Native關(guān)鍵字講解

    Java中的Native關(guān)鍵字講解

    本文介紹了Java中的Native關(guān)鍵字,native關(guān)鍵字是架起本機(jī)語言和JAVA之間鴻溝的橋梁。如果我們的軟件與硬件的交互在使用預(yù)先存在的代碼時(shí)更有效,那么這可以作為一個(gè)關(guān)鍵環(huán)節(jié)。與從頭開始設(shè)計(jì)新的應(yīng)用程序代碼相比,只要可以避免,它就可以使實(shí)現(xiàn)工作更少,下面來了解集體內(nèi)容
    2021-12-12
  • SpringMVC之RequestContextHolder詳細(xì)解析

    SpringMVC之RequestContextHolder詳細(xì)解析

    這篇文章主要介紹了SpringMVC之RequestContextHolder詳細(xì)解析,正常來說在service層是沒有request的,然而直接從controlller傳過來的話解決方法太粗暴,后來發(fā)現(xiàn)了SpringMVC提供的RequestContextHolder,需要的朋友可以參考下
    2023-11-11
  • SpringBoot集成RocketMQ的使用示例

    SpringBoot集成RocketMQ的使用示例

    RocketMQ是阿里巴巴開源的一款消息中間件,性能優(yōu)秀,功能齊全,被廣泛應(yīng)用在各種業(yè)務(wù)場(chǎng)景,本文就來介紹一下SpringBoot集成RocketMQ的使用示例,感興趣的可以了解一下
    2023-11-11
  • redis.clients.jedis.exceptions.JedisMovedDataException異常解決

    redis.clients.jedis.exceptions.JedisMovedDataException異常解決

    redis.clients.jedis.exceptions.JedisMovedDataException?異常是在使用?Jedis?客戶端與?Redis?集群進(jìn)行交互時(shí)發(fā)生的,下面就來介紹一下解決方法,感興趣的可以了解一下
    2024-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)之順序表篇

    Java數(shù)據(jù)結(jié)構(gòu)之順序表篇

    順序表,全名順序存儲(chǔ)結(jié)構(gòu),是線性表的一種。線性表用于存儲(chǔ)邏輯關(guān)系為“一對(duì)一”的數(shù)據(jù),順序表自然也不例外,不僅如此,順序表對(duì)數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)也有要求。順序表存儲(chǔ)數(shù)據(jù)時(shí),會(huì)提前申請(qǐng)一整塊足夠大小的物理空間,然后將數(shù)據(jù)依次存儲(chǔ)起來,存儲(chǔ)時(shí)數(shù)據(jù)元素間不留縫隙
    2022-01-01
  • Java String類字符串的理解與認(rèn)知

    Java String類字符串的理解與認(rèn)知

    String字符串和char字符不同,char使用單引號(hào),只能表示一個(gè)字符,字符串就是一段文本。String是個(gè)類。這個(gè)類使用final修飾,所以這個(gè)類是不可以繼承擴(kuò)充和修改它的方法的
    2021-10-10
  • 攔截Druid數(shù)據(jù)源自動(dòng)注入帳密解密實(shí)現(xiàn)詳解

    攔截Druid數(shù)據(jù)源自動(dòng)注入帳密解密實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了攔截Druid數(shù)據(jù)源自動(dòng)注入帳密解密實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • MybatisPlus實(shí)現(xiàn)邏輯刪除的示例代碼

    MybatisPlus實(shí)現(xiàn)邏輯刪除的示例代碼

    本文主要介紹了Mybatis?Plus實(shí)現(xiàn)邏輯刪除的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 基于TCP通信丟包原因總結(jié)(推薦)

    基于TCP通信丟包原因總結(jié)(推薦)

    下面小編就為大家?guī)硪黄赥CP通信丟包原因總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08

最新評(píng)論