問題:使用unittest進行單元測試,用HTMLTestRunner生成html的測試報告,希望報告中能輸出logging.info等日志
前提:HTMLTestRunner版本是從網上下載的,版本0.8.2,使用的是python3
解決方案:改HTMLTestRunner.py文件,改動地方如下:
1.添加新logger參數,傳遞給HTMLTestRunner類的構造函數和附加一個新的處理程序記錄器(也就是logging.Handler):
2.我希望在測試用例失敗的時候打印日志,類似這樣
編輯REPORT_TEST_WITH_OUTPUT_TMPL模板,添加占位符日志消息%(logs)s
3.改變_generate_report_test方法,填寫logs內容
至此,HTMLTestRunner改完
4.在調用HTMLTestRunner生成報告時,傳入logger日志器就可以了
討論:這里參考了https://stackoverrun.com/cn/q/13119187,文章估計是用python2,而且打印位置不是我想要的,所以調整了一下。
本文只能在fail或者error的時候才能打印logging,想要在pass的時候也打印的話,還需要再研究下