最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IDEA 單元測試覆蓋技巧分享

 更新時間:2021年01月22日 08:40:33   作者:藍星花  
這篇文章主要介紹了IDEA 單元測試覆蓋技巧分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1.前言

通常情況下,項目經(jīng)理or項目總監(jiān)會分階段的問測試負責(zé)人,本階段的測試覆蓋率是多少?在工作中,當(dāng)被問到“如何提高代碼質(zhì)量”,回答無非如下幾個,增加評審,代碼規(guī)約,單元測試。不知起自何年何月,如今一些機構(gòu)開始引入“單元測試覆蓋率”的概念,并由此對程序員提出了覆蓋率要達到70%,90%,以此來評判程序員工作的質(zhì)量,以及產(chǎn)品的質(zhì)量。這里先預(yù)為單元測試下定義以免混淆,即,基于Junit,類與代碼級別的,與運行時無關(guān)的白盒測試。

2.我的理解

測試覆蓋率應(yīng)該區(qū)分自動化測試覆蓋率和功能測試用例覆蓋率。

對于自動化測試覆蓋率,應(yīng)是=(自動化測試腳本執(zhí)行過的代碼/總代碼)

對于測試用例覆蓋率,應(yīng)是=(測試用例覆蓋的功能點/產(chǎn)品設(shè)計的所有功能點)

3.什么是單元測試

單元測試是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確,通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。

3.1好處

1,單元測試不但會使你的工作完成得更輕松。而且會令你的設(shè)計會變得更好,甚至大大減少你花在調(diào)試上面的時間

2,提高代碼質(zhì)量

3,減少bug,快速定位bug

4,放心地修改、重構(gòu)

5,顯得專業(yè)(玩笑話)

3.2注意

1,不能只測試一條正確執(zhí)行路徑,要考慮到所有可能的情況

2,要確保所有測試都能夠通過,避免間接損害

3,如果一個函數(shù)復(fù)雜到無法單測,那就說明模塊的抽象有問題

(1)語句覆蓋法

(2)分支覆蓋法

(3)條件覆蓋法

(4)組合條件覆蓋法

4.IDEA 單元測試覆蓋技巧

package com.example.demoo.junit;
/**
 * Created by lanxinghua on 2018/7/26.
 */
public class Myclass {
  public String test1(){
    return "test1!";
  }

  public String test2(){
    return "test2";
  }
}
package com.example.demoo;
import com.example.demoo.junit.Myclass;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest
public class JunitTest {
  private Myclass myclass;
  @Before
  public void setUp() {
    myclass = new Myclass();
  }

  @Test
  public void testHello(){
    myclass.test1();
  }
}

1)啟動單元測試覆蓋模式(Run “*” with Coverage)

2)查看代碼覆蓋率結(jié)果

工具欄按鈕:

3)生成代碼覆蓋率報告

在里面 生成覆蓋報告對話框打開,指定存儲生成的報告的目標(biāo)目錄,并且可選擇選中該復(fù)選框在瀏覽器中打開生成的HTML。

擴展

隨著公司的發(fā)展,自動化測試腳本的持續(xù)集成逐漸要被做起來,那就面臨一個自檢的問題,我的測試腳本、測試用例是否全覆蓋了開發(fā)的代碼。如何直觀地看到代碼覆蓋率?

本地統(tǒng)計代碼覆蓋率:jacoco,cobertura

遠程統(tǒng)計代碼覆蓋率:jenkins上下載jacoco插件,并在構(gòu)建后配置

如果把測試工程(T)跟開發(fā)工程(D)分開為兩個獨立的工程,D部署在獨立的服務(wù)器上,T工程該如何遠程獲取D的覆蓋率數(shù)據(jù)呢?

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • spring data簡化jpa開發(fā)_動力節(jié)點Java學(xué)院整理

    spring data簡化jpa開發(fā)_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了spring data簡化jpa開發(fā),本文主要講述 Spring Data JPA,希望能夠深入學(xué)習(xí) Spring 和 JPA,有興趣的可以了解下
    2017-09-09
  • Java泛型繼承原理與用法詳解

    Java泛型繼承原理與用法詳解

    這篇文章主要介紹了Java泛型繼承原理與用法,結(jié)合實例形式分析了java泛型繼承的相關(guān)原理與實現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • Java運行時多態(tài)性的實現(xiàn)

    Java運行時多態(tài)性的實現(xiàn)

    Java運行時多態(tài)性的實現(xiàn)...
    2006-12-12
  • java?hutool工具類處理JSON的使用方法

    java?hutool工具類處理JSON的使用方法

    hutool是一個java基礎(chǔ)工具類,該工具類經(jīng)過長期的發(fā)展,API已經(jīng)非常齊全,下面這篇文章主要給大家介紹了關(guān)于java?hutool工具類處理JSON的使用方法,需要的朋友可以參考下
    2024-04-04
  • SpringBoot整合chatGPT的項目實踐

    SpringBoot整合chatGPT的項目實踐

    本文主要介紹了SpringBoot整合chatGPT的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Mybatis中實體類屬性與數(shù)據(jù)列表間映射方法介紹

    Mybatis中實體類屬性與數(shù)據(jù)列表間映射方法介紹

    這篇文章主要介紹了Mybatis中實體類屬性與數(shù)據(jù)列表間映射方法介紹,一共四中方法,供大家參考。
    2017-10-10
  • Java讀取文件方法匯總

    Java讀取文件方法匯總

    這篇文章主要為大家詳細介紹了Java讀取文件方法,按字節(jié)讀取文件內(nèi)容、按字符讀取文件內(nèi)容、隨機讀取文件內(nèi)容等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • springboot整合redis修改分區(qū)的操作流程

    springboot整合redis修改分區(qū)的操作流程

    這篇文章主要介紹了springboot整合redis修改分區(qū)的操作流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 簡單實現(xiàn)java上傳圖片文件功能

    簡單實現(xiàn)java上傳圖片文件功能

    這篇文章主要教大家如何簡單實現(xiàn)java上傳圖片文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • springboot實現(xiàn)異步任務(wù)

    springboot實現(xiàn)異步任務(wù)

    這篇文章主要為大家詳細介紹了springboot實現(xiàn)異步任務(wù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

吉水县| 南涧| 稷山县| 富平县| 措美县| 广东省| 银川市| 兰西县| 稻城县| 盐亭县| 潞西市| 通城县| 章丘市| 丰县| 木兰县| 韶山市| 富宁县| 鹿邑县| 淮阳县| 进贤县| 昌吉市| 虎林市| 抚松县| 牡丹江市| 乌海市| 百色市| 库车县| 昆山市| 长汀县| 登封市| 镇宁| 闽侯县| 惠东县| 安多县| 南投县| 屯留县| 东光县| 上犹县| 方正县| 团风县| 丹江口市|