国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀

這篇具有很好參考價(jià)值的文章主要介紹了Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

通常寫完庫的測試用例,總要跑跑覆蓋率,看看測試用例寫得如何,jest剛好也支持查看覆蓋率,對應(yīng)的指令是:jest --coverage。當(dāng)然在繼續(xù)往下看,如果還沒搭建jest環(huán)境,可以先搭建,畢竟實(shí)踐出真知。

編寫測試用例

如何編寫測試用例,已經(jīng)存在很多教程,官方也有非常多例子,因此這里我們只寫兩種很常用的:同步代碼和異步代碼的測試用例。

同步代碼

// sum.test.ts
const sum = (a:number, b:number) => a + b

test('兩數(shù)相加', () => {
  // 推斷 1 + 1 = 2
  expect(sum(1, 1)).toBe(2)
})

異步代碼

// async.test.ts
const getData = (type: string) => type === 'get'?Promise.resolve(1):Promise.reject(2)

test('測試異步', async () => {
  expect.assertions(1);
  await expect(getData('get')).resolves.toEqual(1)
})

關(guān)于如何編寫更多場景的測試用例,可前往官網(wǎng)查看。下面看看如何解讀覆蓋率。

解讀覆蓋率

當(dāng)我們執(zhí)行jest --coverage會在當(dāng)前文件生成覆蓋率文件夾coverage,如下:

Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀

這時(shí)候我們可以找到lcov-report/index.html文件,然后在瀏覽器中打開,此時(shí)我們便可以查看當(dāng)前項(xiàng)目的測試用例書寫覆蓋率了。這里以我寫的工具庫為例子:

Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀

表格中羅列了所有工具類庫的測試用例,存在幾下幾個(gè)指標(biāo):

1、Statements 語句覆蓋率,它其實(shí)對應(yīng)的就是js語法上的語句,js解析成ast數(shù)中類型為statement。

2、Branches 分支覆蓋率,通俗點(diǎn)理解就是if/else這類條件

3、Functions 函數(shù)覆蓋率

4、Lines 行數(shù)覆蓋率,就是代碼執(zhí)行了多少行

文件中,我們發(fā)現(xiàn)url-utils文件中的Branches覆蓋率不高,才達(dá)到64.29%,那么如何查看具體哪些代碼沒覆蓋到呢?很簡單,點(diǎn)擊對應(yīng)的文件名就可以進(jìn)入查看了,效果如下:

Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀

圖中黃色塊代表的是測試用例沒有測試到的方式,當(dāng)然你也可以按快捷鍵n或者j去查看下一個(gè)沒有被覆蓋到的代碼塊。圖中黃塊未覆蓋到的,剛好也正是條件語句,符合Branchs的測試覆蓋率。

總結(jié)

至此便完成了基本的測試用例編寫,以及測試用例生成,并且能夠查看測試用例覆蓋率如何,以此來完善整體測試用例的編寫,幫助代碼達(dá)到完善健碩的目的。關(guān)于覆蓋率是如何生成的,它的原理是怎么樣的呢?下一篇再說。

現(xiàn)在我邀請你進(jìn)入我們的軟件測試學(xué)習(xí)交流群:746506216】,備注“入群”, 大家可以一起探討交流軟件測試,共同學(xué)習(xí)軟件測試技術(shù)、面試等軟件測試方方面面,還會有免費(fèi)直播課,收獲更多測試技巧,我們一起進(jìn)階Python自動化測試/測試開發(fā),走向高薪之路。

喜歡軟件測試的小伙伴們,如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請 “點(diǎn)贊” “評論” “收藏” 一 鍵三連哦!
Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀文章來源地址http://www.zghlxwxcb.cn/news/detail-437131.html

到了這里,關(guān)于Jest | 測試框架實(shí)戰(zhàn)之-測試用例編寫與覆蓋率解讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Django(10)-項(xiàng)目實(shí)戰(zhàn)-對發(fā)布會管理系統(tǒng)進(jìn)行測試并獲取測試覆蓋率

    Django(10)-項(xiàng)目實(shí)戰(zhàn)-對發(fā)布會管理系統(tǒng)進(jìn)行測試并獲取測試覆蓋率

    在發(fā)布會簽到系統(tǒng)中使用django開發(fā)了發(fā)布會簽到系統(tǒng), 本文對該系統(tǒng)進(jìn)行測試。 django.test 是Django框架中的一個(gè)模塊,提供了用于編寫和運(yùn)行測試的工具和類。 django.test 模塊包含了一些用于測試的類和函數(shù),如: TestCase :這是一個(gè)基類,用于編寫Django測試用例。繼承自 unit

    2024年02月10日
    瀏覽(21)
  • 特性介紹 | MySQL 測試框架 MTR 系列教程(二):進(jìn)階篇 - 內(nèi)存/線程/代碼覆蓋率/單元/壓力測試

    作者:盧文雙 資深數(shù)據(jù)庫內(nèi)核研發(fā) 序言: 以前對 MySQL 測試框架 MTR 的使用,主要集中于 SQL 正確性驗(yàn)證。近期由于工作需要,深入了解了 MTR 的方方面面,發(fā)現(xiàn) MTR 的能力不僅限于此,還支持單元測試、壓力測試、代碼覆蓋率測試、內(nèi)存錯(cuò)誤檢測、線程競爭與死鎖等功能,因

    2024年02月03日
    瀏覽(25)
  • 單元測試——測試代碼功能及代碼覆蓋率

    單元測試——測試代碼功能及代碼覆蓋率

    目錄 目錄 前言 一、單元測試是什么? 二、前置準(zhǔn)備 ?三、測試代碼 ?四、示例 ?五:單元測試覆蓋率 單元測試的寫法不固定,這里以我自己的一種寫法為例,算是很簡單的一種寫法 ? ????????單元測試其實(shí)就是寫一些測試函數(shù),測試代碼的功能是否正常運(yùn)行,一般如果

    2024年02月07日
    瀏覽(41)
  • 如何計(jì)算單元測試的覆蓋率

    如何計(jì)算單元測試的覆蓋率

    單元測試的覆蓋率有:語句覆蓋率(即行覆蓋率)、分支覆蓋率、條件覆蓋率、分支條件覆蓋率、路徑覆蓋率等。 語句覆蓋率 所謂語句就是那些非分支、非判斷的語句。 計(jì)算公式:程序執(zhí)行到的語句總數(shù) / 全部語句的總數(shù) 分支覆蓋率 有判定語句的地方都會出現(xiàn)2個(gè)分支。

    2024年01月21日
    瀏覽(23)
  • java 單元測試覆蓋率調(diào)研

    java 單元測試覆蓋率調(diào)研

    根據(jù)網(wǎng)上的資料搜索發(fā)現(xiàn),現(xiàn)在常用的 java 單元測試覆蓋率工具主要有: Emma Cobertura Jacoco Clover(商用) 工具 Jacoco Emma Cobertura 原理 使用 ASM 修改字節(jié)碼 修改 jar 文件,class 文件字節(jié)碼文件 基于 jcoverage,基于 asm 框架對 class 文件插樁 覆蓋粒度 行,類,方法,指令,分支 行,類

    2024年02月12日
    瀏覽(29)
  • 測試覆蓋率 JVM 字節(jié)碼測試運(yùn)用 - 遠(yuǎn)程調(diào)試、測試覆蓋、影子數(shù)據(jù)庫

    目錄 前言: 簡介 基礎(chǔ)使用方式介紹 工具特性 在軟件開發(fā)中,測試覆蓋率是一個(gè)非常重要的指標(biāo),它表示代碼中所有的測試用例是否都已經(jīng)被覆蓋到。JVM 字節(jié)碼測試是一種比較新的測試方法,它可以對 JVM 字節(jié)碼進(jìn)行測試,從而更加全面地覆蓋代碼中的所有邏輯。 一個(gè)專為

    2024年02月15日
    瀏覽(24)
  • Sonarqube-8.9版本測試單元測試覆蓋率

    Sonarqube-8.9版本測試單元測試覆蓋率

    junit testNG Spock Jacoco Cobertura SonarQube 不會運(yùn)行測試或生成報(bào)告。要在分析中包含覆蓋結(jié)果,需要設(shè)置第三方覆蓋工具來生成報(bào)告并配置 SonarQube 以導(dǎo)入這些報(bào)告。 生成單元測試覆蓋率需要按照以下步驟操作: SonarQube 使用導(dǎo)入的覆蓋率報(bào)告中的覆蓋行和可執(zhí)行行(或要覆蓋的行

    2024年02月02日
    瀏覽(25)
  • IDFA 單元測試以及單元測試覆蓋率步驟

    IDFA 單元測試以及單元測試覆蓋率步驟

    1、新建java類 隨意選擇java類文件,新建一個(gè)Java類CountVowel,用來統(tǒng)計(jì)字符串中元音的個(gè)數(shù),代碼如下: 2、生成測試類 一)、對寫好的類新建測試類,有以下兩種方法: 將鼠標(biāo)光標(biāo)移動到類名上,使用 Alt+Enter 組合鍵,如下圖,選擇 Create Test ,從而新建一個(gè)測試類; 右鍵點(diǎn)

    2024年02月16日
    瀏覽(19)
  • 測試覆蓋率 之 Cobertura的使用

    測試覆蓋率 之 Cobertura的使用

    什么是代碼覆蓋率? 代碼覆蓋率是對整個(gè)測試過程中被執(zhí)行的代碼的衡量,它能測量源代碼中的哪些語句在測試中被執(zhí)行,哪些語句尚未被執(zhí)行。 為什么要測量代碼覆蓋率? 眾所周知,測試可以提高軟件版本的質(zhì)量和可預(yù)測性。但是,你知道你的單元測試甚至是你的功能測

    2024年01月19日
    瀏覽(25)
  • Python庫-coverage測試覆蓋率

    Python庫-coverage測試覆蓋率

    Coverage.py 是用于測量Python程序代碼覆蓋率的工具。它 監(jiān)視程序,注意代碼的哪些部分已執(zhí)行,然后 分析源以識別可以執(zhí)行但未執(zhí)行的代碼。 覆蓋率測量通常用于衡量測試的有效性。它 可以顯示測試正在執(zhí)行代碼的哪些部分,以及哪些部分是 不。 用于運(yùn)行測試套件并收集數(shù)

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包