日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率

發(fā)布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如何使用eclemma插件

你好朋友,

如果編寫好的代碼很重要,那么編寫覆蓋所有業(yè)務邏輯的優(yōu)良Junit測試用例也同樣重要。通過編寫覆蓋業(yè)務邏輯的Junit測試用例,我們實際上確保代碼的每種方法都能正常工作按照預期進行,因此減少了在軟件開發(fā)的后期階段中獲取錯誤的機會。

在本教程中,我們將看到如何使用EclEmma插件來檢查Java代碼的代碼覆蓋率,從而可以確保通過Junit測試用例具有良好的覆蓋率。

第1步 :

轉到以下鏈接:

https://www.eclemma.org/

第2步 :

單擊左側菜單上的安裝->下載選項。

第三步:

右鍵單擊最頂部(最新)鏈接(在撰寫本文時,它是“ eclemma-3.1.2.zip”),然后將Zip保存在您的計算機上。

第4步 :

將zip提取到您選擇的相同位置。

步驟5:

復制提取的文件夾并轉到eclipse文件夾(安裝了eclipse的位置),然后將此提取的文件夾粘貼到eclipse文件夾中的dropins文件夾中。

步驟6:

重新啟動Eclipse。

步驟7:

右鍵單擊項目文件夾,然后選擇Coverage As-> JUnit Test,然后單擊Coverage按鈕,它將運行所有測試用例并檢查覆蓋率。

現(xiàn)在,因為在此階段,我們的服務層代碼中沒有任何測試用例,所以我們獲得了0.0%的覆蓋率,并且所有代碼行都顯示為紅色,這意味著Junit測試中未覆蓋這些行。

一般來說 :

如果看到綠色,則表示Junit測試中覆蓋了所有這些線條。

如果看到紅色,則表示Junit測試未覆蓋所有這些線。

如果看到黃色,則表示您的測試已經通過了這些行,但并未涵蓋所有測試用例。

接下來,我們將創(chuàng)建一個Spring Boot項目,在其中添加一些代碼,然后逐步編寫測試用例,并查看EclEmma插件如何提供代碼覆蓋率。

第八步:

讓我們通過創(chuàng)建一個簡單的名稱為“ eclemma”的Spring Boot項目來了解它的工作原理。請按照我的教程“ 如何使用Spring Initializer創(chuàng)建Spring Boot項目來創(chuàng)建Spring Boot項目”。

步驟9:

在新創(chuàng)建的項目中,按照以下屏幕快照創(chuàng)建具有名稱的包和類

第十步:

這是CalculatorService的源代碼

package com.blogspot.javasolutionsguide.eclmma.service; /** * @author JavaSolutionsGuide * */ public interface CalculatorService { int add( int a , int b); ?int subtract( int a, int b); } <br> <br> <br>

這是CalcualtorServiceImpl的源代碼

package com.blogspot.javasolutionsguide.eclemma.service.impl; /** * @author javaSolutionsGuide * */ public class CalculatorServiceImpl { ?public int add( int a , int b) { int c = a + b; return c; } public int subtract( int a, int b) { int c = a - b; return c; } }

步驟11:

因此,首先我們將只為add()方法編寫測試用例,然后運行Eclemma coverage

這是add()方法的JUnit測試用例的代碼:

package com.blogspot.javasolutionsguide.eclEmma.service.impl; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.blogspot.javasolutionsguide.eclemma.service.impl.CalculatorServiceImpl; /** * @author JavaSolutionsGuide * */ @RunWith (SpringRunner. class ) @SpringBootTest (classes = {CalculatorServiceImpl. class }) public class CalculatorServiceImplTest { ?@Autowired private CalculatorServiceImpl calculatorService; ??@Test public void add_for_givenTwoInteger_shouldReturn_sumOfTwo() { Assert.assertEquals( "Test case to check if add returns sum of two give positive numbers" , 3 , calculatorService.add( 1 , 2 )); } ? } <br> <br> <br>

第十二步:

現(xiàn)在,讓我們再次運行EclEmma Coverage并查看結果:

可以看到,CalculatorServiceImpl類的覆蓋率從0.0%增加到60%,并且運行覆蓋率后,add()方法的代碼行現(xiàn)在變?yōu)榫G色,這意味著這些行已被Junit測試覆蓋。

步驟13:

同樣,我們將為減法編寫所有測試用例并查看覆蓋率。

在CalculatorServiceImplTest.java中添加以下測試用例:

@Test public void subtract_for_givenTwoInteger_shouldReturn_differenceOfTwo() { Assert.assertEquals( "Test case to check if subtract returns sum of two give positive numbers" , 1 , calculatorService.subtract( 2 , 1 )); }

如我們現(xiàn)在所見,CalculatorServiceImpl類的覆蓋率是100%。

摘要

因此,在本教程中,我們學習了如何使用EclEmma插件查看您代碼的Junit測試覆蓋率。基于Junit代碼覆蓋率報告,我們可以找出Junit覆蓋了我們代碼的哪些部分,以及仍然左,然后我們可以為未發(fā)現(xiàn)的代碼行編寫更多的測試用例,這將確保我們已通過Junit涵蓋了所有必需的代碼行,從而提高了代碼質量。

如果您喜歡閱讀本文,請與您認為有幫助的朋友,同事分享。

翻譯自: https://www.javacodegeeks.com/2019/08/integrate-use-eclemma-plugin-having-good-junit-coverage.html

如何使用eclemma插件

總結

以上是生活随笔為你收集整理的如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。