目的
本次研究代碼覆蓋率主要是為了度量自動化用例執(zhí)行蹦误、功能測試劫拢、單元測試對代碼的覆蓋范圍。從而保證項目質(zhì)量强胰。
代碼覆蓋度工具
coverage.py簡介
Coverage.py 是一個用來測試代碼覆蓋率的 Python 第三方庫舱沧。它起初是由 Ned Batchelder 創(chuàng)建。在編程界哪廓,術(shù)語“覆蓋”通常是用來描述測試的有效性狗唉,以及測試的實際覆蓋率。coverage.py 庫支持 Python 2.6 或者更高的版本涡真,還兼容 Python 3 的最新版以及 PyPy分俯。
安裝軟件
使用pip安裝
Pipinstall coverage
使用easy-install來安裝
easyinstall coverage
coverage 命令使用
命令行使用說明: 詳見:http://nedbatchelder.com/code/coverage/cmd.html
run - 運行Python程序并收集執(zhí)行數(shù)據(jù)
命令1:coverage run xx.py arg1 arg2
實例: coverage run testCase.py
執(zhí)行后:會在當前文件夾下生成一個.coverage
命令2: coverage run –p xx.py arg1 arg2
實例: coveragerun –p testCase.py
執(zhí)行后: 會在當前文件夾下生成一個.coverage.xxxx.xxx.xxxx文件
-p的作用解決生成.coverage命名重復的問題肾筐,主要用于多版本合并
report? 生報覆蓋率報告
命令:coverage report
執(zhí)行結(jié)果:
html-使用覆蓋結(jié)果生成帶注釋的HTML列表
命令:coverage html -d covhtml
執(zhí)行結(jié)果:在當前目錄生成一個covhtml文件夾,用于存放覆蓋率報告缸剪,點擊【index.html】查看報告吗铐,生成的報告可以直接關(guān)聯(lián)代碼,高亮顯示覆蓋和未覆蓋的代碼杏节,支持排序唬渗。可以在這個地址http://nedbatchelder.com/code/coverage/cmd.html奋渔。
combine(合并)-將許多數(shù)據(jù)文件組合在一起
coverage文件必須在同一目錄至少有兩個镊逝,否則會提示:No data to combine
執(zhí)行后:只顯示一個.coverage文件夾與covhtml,合并后需要重新生成報告
注:命令的詳細使用方法詳見:http://nedbatchelder.com/code/coverage/cmd.html