国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

單元測試之@Mock與@InjectMocks(一文搞懂)

這篇具有很好參考價值的文章主要介紹了單元測試之@Mock與@InjectMocks(一文搞懂)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

@Mock與@InjectMocks一般搭配組合使用,是單元測試必不可少的注解

@Mock:需要模擬的類,我們需要模擬哪些類,就用它修飾哪些類的變量,常用于第三方服務(wù)service
@InjectMocks:要測試的類,使用@Mock修飾的對象,就是我們測試哪個類,就用它修飾對應(yīng)的變量,會整合使用@Mock修飾的對象

直接上代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-740934.html

@Service
public class ThirdService {

    public Object getThirdUser(String userId) {
        return new Object();
    }
}

@Service
public class UserService {

    @Autowired
    private ThirdService thirdService;

    public Object getUser(String userId) {
        return thirdService.getThirdUser(userId);
    }
}

//測試UserService
@SpringBootTest
class UserServiceTest {

    //需要模擬的類(因?yàn)閁serService中使用了這個類)
    @Mock
    private ThirdService thirdService;

    //要測試的類,使用@Mock修飾的對象
    //這時候userService對象中持有的thirdService變量就是模擬的對象了
    @InjectMocks
    private UserService userService;

    @Test
    public void testGetUser() {
        //設(shè)定行為返回數(shù)據(jù),我們可以設(shè)定模擬對象的行為,當(dāng)然也可以不設(shè)定
        //any代表任意參數(shù),返回a對象
        Object a = new Object();
        when(thirdService.getThirdUser(any())).thenReturn(a);

        //執(zhí)行被測試的方法,這時候內(nèi)部調(diào)用的ThirdService就是模擬對象了,行為結(jié)果就是上面設(shè)置的
        Object abc = userService.getUser("abc");

        //驗(yàn)證結(jié)果
        assertEquals(a,abc);
    }

}

到了這里,關(guān)于單元測試之@Mock與@InjectMocks(一文搞懂)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java的單元測試-mock測試

    對于普通的方法,通常采用斷言測試。 對于接口,需要使用mockMvc 對于未開發(fā)的功能,需要mockBean模擬一個業(yè)務(wù)bean java自身攜帶的工具類,也可以用于一些對拋出異常要求不高的業(yè)務(wù)或者存在全局異常的項(xiàng)目 另外有一個更加簡單的寫法,以assert開頭 曾使用注入方式得到mockM

    2023年04月08日
    瀏覽(29)
  • 測試人必會的Python內(nèi)置庫:unittest.mock(單元測試mock的基礎(chǔ)使用)

    unittest.mock是用于在單元測試中模擬和替換指定的對象及行為,以便測試用例更加準(zhǔn)確地進(jìn)行測試運(yùn)行。例如對于以下代碼,想要針對函數(shù)func_a寫一個簡單的單元測試: 但是這樣的話,函數(shù)func_b和func_c的邏輯都需要一起測試,在單元測試中這明顯是不合理的,對于想要測試的

    2024年02月01日
    瀏覽(22)
  • SpringBoot 使用Mock單元測試

    SpringBoot 使用Mock單元測試

    測試一般分為兩種黑盒測試和白盒測試。 ????????黑盒測試又稱為 功能測試 或 數(shù)據(jù)驅(qū)動測試 ,測試過程中,程序看作成一個黑色盒子,看不到盒子內(nèi)部代碼結(jié)構(gòu)。 ????????白盒測試又稱為 結(jié)構(gòu)測試 或 邏輯驅(qū)動測試 ,測試過程中,程序看作一個透明盒子,能夠看清

    2024年03月20日
    瀏覽(24)
  • 單元測試之Power Mock

    一、簡介 EasyMock、Mockito、jMock(單元測試模擬框架) 在有這些模擬框架之前,程序員為了編寫某一個函數(shù)的單元測試,必須進(jìn)行十分繁瑣的初始化工作,以確保調(diào)用的接口或編寫的代碼得到預(yù)期的結(jié)果。單元測試模擬框架極大的簡化了單元測試的編寫過程,在被測試代碼需要

    2023年04月08日
    瀏覽(17)
  • CompletableFuture的單元測試Mock

    CompletableFuture的單元測試Mock

    在spring項(xiàng)目,假設(shè)我們有一個方法 我們對這個方法單元測試,大概率就直接寫成: 這樣會導(dǎo)致Completable的線程不運(yùn)行,一直阻塞在紅色箭頭指示的地方: 等待線程執(zhí)行完畢。然而線程并沒有執(zhí)行。 此時需要模擬并驅(qū)動異步線程的執(zhí)行,因此需要這樣寫: 這樣就mock了對Runn

    2024年02月09日
    瀏覽(27)
  • Service層代碼單元測試以及單元測試如何Mock

    Service層代碼單元測試以及單元測試如何Mock

    接著上一篇文章:單元測試入門篇,本篇文章作為單元測試的進(jìn)階篇,主要介紹如何對Springboot Service層代碼做單元測試,以及單元測試中涉及外調(diào)服務(wù)時,如何通過Mock完成測試。 現(xiàn)在項(xiàng)目都流行前后端代碼分離,后端使用springboot框架,在service層編寫接口代碼實(shí)現(xiàn)邏輯。假設(shè)

    2023年04月08日
    瀏覽(18)
  • Go 單元測試之mock接口測試

    Go 單元測試之mock接口測試

    目錄 一、gomock 工具介紹 二、安裝 三、使用 3.1 指定三個參數(shù) 3.2 使用命令為接口生成 mock 實(shí)現(xiàn) 3.3 使用make 命令封裝處理mock 四、接口單元測試步驟 三、小黃書Service層單元測試 四、flags 五、打樁(stub) 參數(shù) 六、總結(jié) 6.1 測試用例定義 6.2 設(shè)計測試用例 6.3 執(zhí)行測試用例代碼

    2024年04月22日
    瀏覽(25)
  • Go語言測試——【單元測試 | Mock測試 | 基準(zhǔn)測試】

    Go語言測試——【單元測試 | Mock測試 | 基準(zhǔn)測試】

    作者 :非妃是公主 專欄 :《Golang》 博客主頁 :https://blog.csdn.net/myf_666 個性簽:順境不惰,逆境不餒,以心制境,萬事可成?!鴩?軟件測試 :軟件測試(英語:Software Testing),描述一種用來促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。換句話說,軟件測

    2024年02月10日
    瀏覽(22)
  • 單元測試之Stub和Mock

    單元測試之Stub和Mock

    Analyze類會檢查filename的長度,如果小于8,我們就會使用一個實(shí)現(xiàn)IWebService的類來記錄錯誤. 我們需要給Analyze方法寫單元測試。 如果你想學(xué)習(xí)性能測試,我這邊給你推薦一套視頻,這個視頻可以說是B站播放全網(wǎng)第一的自動化測試教程,同時在線人數(shù)到達(dá)1000人,并且還有筆記可

    2024年01月17日
    瀏覽(17)
  • 【Junit】單元測試Mock靜態(tài)方法

    【Junit】單元測試Mock靜態(tài)方法

    開發(fā)依賴 版本 Spring Boot 3.0.6 JDK 20 如果沒有引入 mockito-inline 這個依賴,使用mock靜態(tài)方法,則會拋這個異常

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包