91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于SpringBoot?Mock單元測試的示例分析

發布時間:2021-11-23 08:53:38 來源:億速云 閱讀:328 作者:小新 欄目:開發技術

小編給大家分享一下基于SpringBoot Mock單元測試的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Junit中的基本注解:

  • @Test:使用該注解標注的public void方法會表示為一個測試方法;

  • @BeforeClass:表示在類中的任意public static void方法執行之前執行;

  • @AfterClass:表示在類中的任意public static void方法之后執行;

  • @Before:表示在任意使用@Test注解標注的public void方法執行之前執行;

  • @After:表示在任意使用@Test注解標注的public void方法執行之后執行;

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

SpringBoot 單元測試(cobertura 生成覆蓋率報告)

1.Mock的概念:

所謂的mock就是創建一個類的虛假的對象,在測試環境中,用來替換掉真實的對象,以達到兩大目的:

驗證這個對象的某些方法的調用情況,調用了多少次,參數是什么等等指定這個對象的某些方法的行為,返回特定的值,或者是執行特定的動作 2. 添加依賴

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

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

基于SpringBoot?Mock單元測試的示例分析

進入 spring-boot-starter-test-2.2.2.RELEASE.pom 可以看到該依賴中已經有單元測試所需的大部分依賴,如:

  • junit

  • mockito

  • hamcrest

基于SpringBoot?Mock單元測試的示例分析

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

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

這里如果不添加的話,在使用@RunWith注解的時候也會提示你添加,點擊Add ‘JUnit4' to classpath也會自動在pom.xml幫你添加

基于SpringBoot?Mock單元測試的示例分析

若為非springboot項目,其他 spring 項目,需要自己添加 Junit 和 mockito 的依賴。SpringBoot不要添加,添加后Test的時候會出錯

  <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用于對指定方法進行返回值的定制,它需要與will開頭的方法一起使用

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

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

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

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

基于SpringBoot?Mock單元測試的示例分析

基于SpringBoot?Mock單元測試的示例分析

看完了這篇文章,相信你對“基于SpringBoot Mock單元測試的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仪陇县| 峡江县| 金阳县| 闽清县| 海晏县| 盐池县| 黄龙县| 易门县| 登封市| 怀柔区| 全州县| 中超| 兴和县| 景洪市| 德惠市| 罗定市| 海原县| 石河子市| 获嘉县| 赤水市| 英吉沙县| 抚顺县| 浦江县| 大连市| 黑河市| 新疆| 客服| 通道| 萨嘎县| 蓬溪县| 武城县| 周宁县| 青海省| 郴州市| 丹东市| 江口县| 来安县| 宁陕县| 商都县| 望江县| 武鸣县|