Coverage——Django代碼覆蓋率測試

Coverage——Django代碼覆蓋率測試

Coverage是一個用來測試python程序代碼覆蓋率的工具,它能夠識別代碼的哪些部分已經(jīng)被執(zhí)行,并識別有哪些可以執(zhí)行但未執(zhí)行的代碼。覆蓋率測試通常用來衡量測試的有效性和完善性。

安裝

方法一:

pip install coverage(但it doesn't work on my電腦:( )

方法二:

https://pypi.org/project/coverage/在此網(wǎng)站上下載安裝包并在本地安裝

(it works:) )

使用簡介

1.用coverage run my_program.py arg命令來運(yùn)行程序


2.coverage report命令可以在屏幕上顯示運(yùn)行結(jié)果


可以查看已覆蓋數(shù)、未覆蓋數(shù)以及覆蓋百分比

3.coverage html命令可獲得更加詳細(xì)的信息

此命令在同級目錄下生成包含html文件的文件夾,默認(rèn)名稱為htmlcov,點(diǎn)擊打開index.html即可。

4.coverage run --branch my_program.py arg命令支持分支覆蓋測量

若程序中的某一行能夠跳轉(zhuǎn)到多個下一行(例如if語句),那么coverage會跟蹤實際訪問過哪些目標(biāo),并且標(biāo)記出沒有被訪問的代碼。相應(yīng)的html報告中,未執(zhí)行的分支以黃色顯示,右側(cè)注釋也會顯示未執(zhí)行的分支行號。

5.coverage xml命令可以生成xml格式的報告

實例

$coverage run manage.py test

$coverage html

生成網(wǎng)頁如下圖:


可以通過點(diǎn)擊 Module 列中列出的文件名來打開一個新的頁面,頁面中將會明顯標(biāo)識出代碼中沒有被單體覆蓋的部分。


其他

coverage.py 支持配置文件。配置文件格式是傳統(tǒng)的“.ini”文件,還可以使用 # 或者 ; 來添加注釋。

Coverage.py 也允許在上述提到的配置文件中指定需要解析的源文件。在配置文件中設(shè)置了需要解析的文件后就可以通過運(yùn)行 coverage.py 來看運(yùn)行結(jié)果。它還支持“--source”命令行選項。

coverage.py還就是它支持插件。你可以自己寫插件,也可以從網(wǎng)上下載并安裝別人的插件來增強(qiáng) coverage.py 的功能。

總結(jié)

Coverage.py 可以檢測單體測試代碼并且發(fā)現(xiàn)單體測試覆蓋中的漏洞,但高質(zhì)量的測試仍然需要自己編寫。coverage的配置相對來說比較簡單,但是我在配置的過程中還是踩了不少坑,例如報錯DJANGO_SETTINGS_MODULE or call settings.configure()等。真誠建議大家遇到坑時使用google而不是百度搜索==

參考:https://coverage.readthedocs.io/en/v4.5.x/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容