Python用HTMLTestRunner生成html測試報告


小編的主機:mac

 

一、引入HTMLTestRunner包

  1、下載HTMLTestRunner.py,已上傳到網盤,點擊下載

  2、將HTMLTestRunner.py復制到python安裝目錄的Lib文件夾下。

  可能有的人不知道python安裝地址的Lib文件夾在哪里。小編用的是mac,放的地址為:/資源庫/Frameworks/Python.framework/Versions/3.6/lib/python3.6

  因為看見里面有很多.py結尾的文件,常用到的os.py都在里面,放這里准沒錯。

 

二、用unittest寫測試用例

  具體可參考https://docs.python.org/2/library/unittest.html

 

三、main方法中生成測試報告

 

import unittest
import HTMLTestRunnerNew
import time
import os

class make(unittest.TestCase):

    def __init__(self, methodName='runTest'):
        super().__init__(methodName)
        print("構造函數")

    def test_aaa(self):
        print("aaa")
        self.assertEqual(1, 2)

    def test_bbb(self):
        print("bbb")
        self.assertEqual(2, 2)

    def test_ccc(self):
        print("ccc")
        self.assertEqual(3, 2)

if __name__ == '__main__':
    print("main-start")
    s = unittest.TestSuite()  # 實例化
    s.addTests(unittest.TestLoader().loadTestsFromTestCase(make))  # 加載用例
    now = time.strftime('%Y-%m-%d %H%M%S')
    print("main-getcwd")
    filename = open(os.getcwd() + '/testResult_report' + now + '.html', 'wb')
    runner = HTMLTestRunnerNew.HTMLTestRunner(
        stream=filename,
        title='單元測試報告',
        description='單元測試報告',
        tester='youreyebows')
    runner.run(s)
    print("main-stop")

  

四、執行main方法

  注意執行時一定不要右鍵 Run "Unittests in xxx" 因為這個執行的是上面寫的繼承自unittest的類,例如我這里就是make。

  可以試試哦,控制台不會打印出main方法里的print后的語句。

  執行方法見另一篇博客:Python 同一文件中,有unittest不執行“if __name__ == '__main__”,不生成HTMLTestRunner測試報告的解決方案

 

五、查看html報告

  (1)在項目下可以看見生成的測試報告,后綴為.html

  

  (2)在chrome打開如圖:

   

 

 

 


免責聲明!

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



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