這篇文章給大家分享的是有關unittest+coverage單元測試代碼覆蓋的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
整個項目的測試框架如下:

就是在源代碼的基礎上加了一個CodeCover.py文件,執行該文件會在目錄CoverageReport生成相應的覆蓋報告。如下是CodeCover.py的源碼:
#coding=utf8
import os
import time
def findTestWithPath():
current_dir=os.getcwd()
folderName=os.listdir(current_dir)
#print folderName
#獲取到測試文件所在目錄
TestSuit=[suite for suite in folderName if not suite.find("TestSuit")]
#用來保存測試文件
testfile=[]
withPathFile=[]
for suite in TestSuit:
#獲取測試目錄下的所有測試文件
testfile=testfile+os.listdir(".\\"+suite)
for withPath in testfile:
withPath=current_dir+"\\"+suite+"\\"+withPath
withPathFile.append(withPath)
del testfile
#把testfile中的py文件挑選出來
withPathFile=[name for name in withPathFile if not "pyc" in name]
#print testfile
print withPathFile
return withPathFile
def codeCoverage():
now = time.strftime("%Y%m%d%H%M")
htmlReport=os.getcwd()+"\\"+"CoverageReport"
htmlCmd="coverage html -d " + htmlReport +"\\"+now
for pyfile in findTestWithPath():
runPyCmd="coverage run " + pyfile
if os.path.exists(htmlReport) :
os.system(runPyCmd)
os.system(htmlCmd)
else:
os.mkdir(htmlReport)
os.system(runPyCmd)
os.system(htmlCmd)
if __name__=="__main__":
codeCoverage()運行結果圖:

感謝各位的閱讀!關于“unittest+coverage單元測試代碼覆蓋的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。