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

IDEA 單元測(cè)試覆蓋技巧分享

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

1.前言

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

2.我的理解

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

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

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

3.什么是單元測(cè)試

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

3.1好處

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

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

3,減少bug,快速定位bug

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

5,顯得專(zhuān)業(yè)(玩笑話(huà))

3.2注意

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

2,要確保所有測(cè)試都能夠通過(guò),避免間接損害

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

(1)語(yǔ)句覆蓋法

(2)分支覆蓋法

(3)條件覆蓋法

(4)組合條件覆蓋法

4.IDEA 單元測(cè)試覆蓋技巧

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)啟動(dòng)單元測(cè)試覆蓋模式(Run “*” with Coverage)

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

工具欄按鈕:

3)生成代碼覆蓋率報(bào)告

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

擴(kuò)展

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

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

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

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

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

相關(guān)文章

最新評(píng)論

商水县| 克东县| 金秀| 磐安县| 黄大仙区| 潞城市| 安阳县| 云南省| 绥滨县| 宝应县| 贵溪市| 林州市| 乳山市| 广德县| 韶山市| 灵宝市| 即墨市| 城口县| 政和县| 尼勒克县| 马鞍山市| 鄂伦春自治旗| 南陵县| 鲜城| 静宁县| 托克逊县| 镇远县| 华安县| 江达县| 阳信县| 东乌| 弋阳县| 海淀区| 团风县| 曲周县| 汝州市| 永昌县| 望江县| 衡山县| 兴仁县| 九龙县|