欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
聊聊 Python 代碼覆蓋率工具 - Coverage

1. 代碼覆蓋率

單元測試代碼覆蓋率作為一種度量方式,可以計算單元測試用例對于被測代碼的覆蓋程度,即:被執行的代碼數量和代碼總數量的比值

統計代碼覆蓋率,經(jīng)常在單元測試后再進(jìn)行,可以為測試結果提供評判依據

Python 項目最常使用的代碼覆蓋率統計工具就是:Coverage

2. Coverage

Coverage 是用于統計 Python 代碼覆蓋率的工具,不僅支持分支覆蓋率統計,生成 HTML 格式的統計報告,而且可以集成到 Jenkins 中使用

安裝 Coverage 依賴(lài)同樣是使用 pip 安裝

# 安裝 Coverage 依賴(lài)

pip3 install coverage

Coverage 官方提供了 2 種方式,用于統計代碼覆蓋率,分別是:

1、Coverage 命令行

2、Coverage API 

更詳細的介紹可以參考官方文檔:

https://coverage.readthedocs.io/en/latest/

3. 實(shí)戰一下首先,用 Python 編寫(xiě)一段簡(jiǎn)單被測代碼,如下:# 被測代碼 

# main.py

def get_level(cource):

    """

    自定義的方法

    :param cource:成績(jì)

    :return:

    """

    if cource >= 90:

        return "優(yōu)秀"

    elif cource >= 80:

        return "良好"

    elif cource >= 60:

        return "合格"

    elif cource >= 40:

        return "不合格"

    else:

        return "差"

然后,編寫(xiě)單元測試用例

根據上面的被測方法,這里使用 Python 自帶的unittest 依賴(lài)庫來(lái)編寫(xiě) 2 個(gè)簡(jiǎn)單的測試用例并且,特意只覆蓋到了上面方法的 2 個(gè)分支,即:優(yōu)秀和良好# 單元測試 

# test_get_level.py 

import unittest

from main import *

class GetLevel(unittest.TestCase):

    def test_get_level1(self):

        self.assertEquals(get_level(90), "優(yōu)秀")

    def test_get_level2(self):

        self.assertEquals(get_level(80), "良好")

if __name__ == '__main__':

    unittest.main(verbosity=2)

右鍵運行單元測試,會(huì )發(fā)現兩個(gè)測試用例都是通過(guò)的接下來(lái),分別使用 Coverage 命令和 API 在本地生成代碼覆蓋率統計報告1、Coverage命令

在項目根目錄下,運行 coverage run 命令,生成 .coverage 文件,搜集被測試源代碼覆蓋率的信息

# 1、搜集被測代碼覆蓋率信息,保存到 .coverage 文件中

coverage run test_get_level.py

# 2、生成覆蓋率統計結果報告

coverage html -d coverage_result然后,使用 coverage html -d  命令在同級目錄下生成代碼覆蓋率統計報告

用瀏覽器打開(kāi)統計報告文件夾中的 index.html 文件,其中:statements:代碼總行數,不包含空行和注釋行

missing:未執行的代碼行數

coverage:代碼覆蓋率

點(diǎn)擊 test_get_level.py 文件,可以非常直觀(guān)地查看到,哪些代碼執行了,哪些代碼沒(méi)有被執行

2、Coverage API使用 Coverage API生成代碼覆蓋率統計報告更方便只需要使用查找測試套件并運行,然后使用 Coverage API 進(jìn)行分析、保存、展示即可

# 使用 API 生成代碼覆蓋率統計報告

# exec_api.py

import coverage

import unittest

# 實(shí)例化一個(gè)對象

cov = coverage.coverage()

cov.start()

# 測試套件

suite = unittest.defaultTestLoader.discover("./", "test_get_level.py")

unittest.TextTestRunner().run(suite)

# 結束分析

cov.stop()

# 結果保存

cov.save()

# 命令行模式展示結果

cov.report()

# 生成HTML覆蓋率報告

cov.html_report(directory='result_html')

4. 最后

上面只是通過(guò)一個(gè)簡(jiǎn)單的 Python 方法結合 unittest 單元測試框架,展示了 Coverage 獲取代碼覆蓋率統計報告的方法。

實(shí)際項目中,更多應用場(chǎng)景是: Python自動(dòng)化、Django/Flask Web項目統計單元測試用例的代碼覆蓋率,以提升產(chǎn)品的質(zhì)量。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Python代碼覆蓋率分析工具----Coverage
Python - 測試覆蓋率統計
Python單元測試框架覆蓋率-Coverage
pytest文檔57-單元測試代碼覆蓋率(pytest-cov)
如何測試代碼覆蓋率:coverage
Python單元測試之道:從入門(mén)到精通
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久