python生成測試報告


《最簡潔的nose生成html報告方法》

安裝:

nose是繼承於unittest的一個python單元測試框架。

屬於第三方包,要使用,首先需要安裝,推薦pip(解決依賴):

pip install nose

pip install nose-html-reporting  

注:命令行nosetests -help查看nose相關參數,證明安裝成功。若pip安裝失敗,那就去安裝whl吧

使用:

進入測試文件所在目錄,或直接跟絕對路徑(如:d:\test\test.py)

指定報告名稱和路徑使用--html-report參數(當然也可以DIY哈)

命令行執行:

nosetests d:\test\test.py --with-html --html-report=d:\test\test.html

 注:解決有中文的輸出問題需要修改nose_html_reporting的__init__.py

加入萬能編碼解決方案:

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

然后再修改輸出方式_format_output:

 return o.decode('utf-8')
#return o.decode('latin-1')

 

 

 

《最簡潔unittest生成測試報告》

使用HTMLTestRunner來格式化報告。下載HTMLTestRunner.py(容易搜索到)並放到python:\lib\路徑下。

在測試py的加上下一段代碼(更改類名喲,當然可以個性化DIY你自己的報告名稱,比如添加文件名字、時間戳等)

總之最簡潔的unittest生成測試報告,補充代碼如下:

if __name__=='__main__':

testSuite=unittest.TestLoader().loadTestsFromTestCase(測試類名)

while True:
  report_path='d:\\test\\'   
  filename=reportp_path+'result.html'
   if os.path.exists(report_path):
with open(filename,'wb') as f:
runner=HTMLTestRunner.HTMLTestRunner(f,verbosity=2,title='Result',description='Test_reports')
runner.run(testSuite)
break
else:
os.makedirs(report_path)
continue

一切就緒之后執行你的unittest就ok。去見證一下吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM