《最簡潔的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。去見證一下吧。