欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于SpringBoot?Mock單元測(cè)試詳解

 更新時(shí)間:2021年11月22日 16:46:24   作者:紫蝶俠  
這篇文章主要介紹了基于SpringBoot?Mock單元測(cè)試詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Junit中的基本注解:

  • @Test:使用該注解標(biāo)注的public void方法會(huì)表示為一個(gè)測(cè)試方法;
  • @BeforeClass:表示在類中的任意public static void方法執(zhí)行之前執(zhí)行;
  • @AfterClass:表示在類中的任意public static void方法之后執(zhí)行;
  • @Before:表示在任意使用@Test注解標(biāo)注的public void方法執(zhí)行之前執(zhí)行;
  • @After:表示在任意使用@Test注解標(biāo)注的public void方法執(zhí)行之后執(zhí)行;

SpringBoot 單元測(cè)試詳解(Mockito、MockBean)

SpringBoot 單元測(cè)試(cobertura 生成覆蓋率報(bào)告)

1.Mock的概念:

所謂的mock就是創(chuàng)建一個(gè)類的虛假的對(duì)象,在測(cè)試環(huán)境中,用來(lái)替換掉真實(shí)的對(duì)象,以達(dá)到兩大目的:

驗(yàn)證這個(gè)對(duì)象的某些方法的調(diào)用情況,調(diào)用了多少次,參數(shù)是什么等等指定這個(gè)對(duì)象的某些方法的行為,返回特定的值,或者是執(zhí)行特定的動(dòng)作 2. 添加依賴

新建的springBoot項(xiàng)目中默認(rèn)包含了spring-boot-starter-test的依賴,如果沒有包含可自行在pom.xml中添加依賴

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

在這里插入圖片描述

進(jìn)入 spring-boot-starter-test-2.2.2.RELEASE.pom 可以看到該依賴中已經(jīng)有單元測(cè)試所需的大部分依賴,如:

  • junit
  • mockito
  • hamcrest

在這里插入圖片描述

注意包含的junit為junit5 ,在主要還是使用junit4所以在pom.xml中添加依賴

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

這里如果不添加的話,在使用@RunWith注解的時(shí)候也會(huì)提示你添加,點(diǎn)擊Add ‘JUnit4' to classpath也會(huì)自動(dòng)在pom.xml幫你添加

在這里插入圖片描述

若為非springboot項(xiàng)目,其他 spring 項(xiàng)目,需要自己添加 Junit 和 mockito 的依賴。SpringBoot不要添加,添加后Test的時(shí)候會(huì)出錯(cuò)

      <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.10.19</version>
            <scope>test</scope>
        </dependency>

3. 常用的 Mockito 方法

Mockito的使用,一般有以下幾種組合:

  • do/when:包括doThrow(…).when(…)/doReturn(…).when(…)/doAnswer(…).when(…)
  • given/will:包括given(…).willReturn(…)/given(…).willAnswer(…)
  • when/then: 包括when(…).thenReturn(…)/when(…).thenAnswer(…)

例如:

given(userRepository.findByUserName(Mockito.anyString())).willReturn(user);
  • given + willReturn

given用于對(duì)指定方法進(jìn)行返回值的定制,它需要與will開頭的方法一起使用

通過willReturn可以直接指定打樁的方法的返回值

when(userRepository.findByUserName(Mockito.anyString())).thenReturn(user);
  • when + thenReturn

when的作用與Given有點(diǎn)類似,但它一般與then開頭的方法一起使用。

thenReturn與willReturn類似,不過它一般與when一起使用。

在這里插入圖片描述

在這里插入圖片描述

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

相關(guān)文章

  • SpringBoot整合Redis哨兵模式的實(shí)現(xiàn)示例

    SpringBoot整合Redis哨兵模式的實(shí)現(xiàn)示例

    Redis哨兵模式是Redis高可用方案的一種實(shí)現(xiàn)方式,通過哨兵來(lái)自動(dòng)實(shí)現(xiàn)故障轉(zhuǎn)移,從而保證高可用,本文主要介紹了SpringBoot整合Redis哨兵模式的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • java音樂播放器課程設(shè)計(jì)

    java音樂播放器課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java音樂播放器的課程設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java類加載初始化的過程及順序

    Java類加載初始化的過程及順序

    今天小編就為大家分享一篇關(guān)于Java類加載初始化的過程及順序,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實(shí)例詳解

    基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實(shí)例詳解

    這篇文章主要介紹了基于Spring + Spring MVC + Mybatis 高性能web構(gòu)建實(shí)例詳解,需要的朋友可以參考下
    2017-04-04
  • java 使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大

    java 使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大

    本篇文章介紹了,在java中使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大。需要的朋友參考下
    2013-05-05
  • springboot快速搭建ftpserver服務(wù)端的詳細(xì)步驟

    springboot快速搭建ftpserver服務(wù)端的詳細(xì)步驟

    基于springboot,使用ftpserver快速搭建一個(gè)FTP服務(wù)端,搭建過程很簡(jiǎn)單,我們把過程分成4個(gè)步驟,一分鐘內(nèi)快速完成構(gòu)建,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • Java垃圾回收機(jī)制算法詳解

    Java垃圾回收機(jī)制算法詳解

    這篇文章主要介紹了Java垃圾回收機(jī)制算法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java銀行取錢線程安全問題實(shí)例分析

    Java銀行取錢線程安全問題實(shí)例分析

    這篇文章主要介紹了Java銀行取錢線程安全問題,結(jié)合具體實(shí)例形式分析了java使用線程操作模擬銀行取錢的相關(guān)安全問題,需要的朋友可以參考下
    2019-09-09
  • SpringBoot整合新版SpringSecurity完整過程

    SpringBoot整合新版SpringSecurity完整過程

    Spring Security是保障Spring應(yīng)用程序安全的強(qiáng)大框架,而新版的Spring Security引入了lambda表達(dá)式來(lái)配置,使得安全配置更加簡(jiǎn)潔、優(yōu)雅,本文將介紹如何在Spring Boot項(xiàng)目中整合新版Spring Security,需要的朋友可以參考下
    2024-02-02
  • 使用BufferedReader讀取TXT文件中數(shù)值,并輸出最大值

    使用BufferedReader讀取TXT文件中數(shù)值,并輸出最大值

    這篇文章主要介紹了使用BufferedReader讀取TXT文件中數(shù)值,并輸出最大值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論