9-Unittest+HTMLTestRunner不能生成報告解決方法
阿新 • • 發佈:2018-11-22
1、問題現象
在使用HTMLTestRunner生成測試報告時,出現程式執行不報錯,但不能生成報告的情況。
剛開始找了很久沒發現問題,後來加上列印資訊,發現根本沒執行生成報告這部分程式碼。最後網上找到原因:pycharm 在執行測試用例的時候 預設是以unittest 框架來執行的,所以不能生成測試報告。
if __name__ == '__main__': print '開始執行main' # 建立檔案,用來存放測試報告 filepath = '..\htmlreport\htmlreport.html' # 以讀寫的方式開啟檔案 fp = file(filepath,'wb') # 建立測試套 suit = unittest.TestSuite() # 向測試套裡新增case suit.addTest(TestMethod('test_01')) suit.addTest(TestMethod('test_02')) # 定義HTMLTestRunner執行相關引數 runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='This is first test')# 執行case runner.run(suit) fp.close() print 'main執行結束'
2、如何判斷是否以unittest框架執行?
如下,只要執行環境是unittest in ...的,就都是以unittest框架執行的
3、解決方案
只要不以unittest框架方式執行就可解決不能生成報告的問題。可自己新增一個不以unittest框架方式執行的環境。
1)如下點選edit configurations-->選中python-->點選+
2)點選python
3)填寫環境名稱和指令碼路徑
4)選擇步驟三種新增的環境,執行指令碼,即可生成報告