一、導入HTMLTestRunnerNew文件
首先,我們要知道如果要利用HTMLTestRunnerNew生成測試報告的話,就需要對其進行導入:
HTMLTestRunnerNew下載地址:鏈接:https://pan.baidu.com/s/1DO8_0HrNx_UtVPzqCEJ8CQ 密碼:5yoy
下載好了之后需要把這個文件復制到python的lib目錄下面,操作步驟如下:
在訪達中command+shift+G,在彈出的輸入框中輸入:/資源庫/Frameworks/Python.framework/Versions/3.6/lib/python3.6,找到這個目錄后把文件放在這個文件夾里面就可以了
二、實操
放好了之后我們就來寫代碼測試一下:
我的文件目錄是這樣的:
首先我創建了一個計算加法和乘法的類:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 class MathMethod: 5 def __init__(self,a,b): 6 self.a=a 7 self.b=b 8 9 def add(self): 10 return self.a+self.b 11 12 13 def multi(self): 14 return self.a*self.b
再對其進行測試:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 import unittest 5 from write_blog.math_method import MathMethod #對需要測試的類進行導入 6 class TestMathMethod (unittest.TestCase): 7 # 兩個正數相加 8 def test_add_two_positive(self): 9 res = MathMethod (1, 3).add () 10 print ("1+3的結果是{0}".format (res)) 11 try: 12 self.assertEqual (5, res, "兩個0相加的值不對!") # 這里我為了可以報錯,所以期望值寫的是5 13 except Exception as e: 14 print("斷言錯誤是{0}".format(e)) 15 raise e 16 17 # 兩個負數相乘 18 def test_multi_two_negative(self): 19 res = MathMethod (-3, -9).multi () 20 print ("-3*-9的結果是{0}".format (res))
最后再是輸出測試報告:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 import unittest 5 import HTMLTestRunnerNew 6 from write_blog import test_mathmethod # 具體到模塊名 7 8 # 存儲測試用例 9 suite=unittest.TestSuite() 10 11 # 創建一個加載器 12 loader=unittest.TestLoader() 13 14 15 # 從測試模塊里面去找測試用例 16 suite.addTest(loader.loadTestsFromModule(test_mathmethod)) 17 18 19 # 測試報告 20 with open("test_report.html",'wb') as file: 21 runner=HTMLTestRunnerNew.HTMLTestRunner(stream=file, 22 verbosity=2, 23 description="第一次輸出報告,有點小激動", 24 title="測試報告", 25 tester="小豬") 26 27 runner.run(suite)
當然這里執行成不成功,上面的HTMLTestRunnerNew文件你得放對,不然是走不到這里的~
執行結束之后文件夾就會新增一個名為"test_report.html"的文件,打開之后就可以看到詳細的信息內容了,測試報告長這個樣子:
如果你執行之后看到這個文件了,那么恭喜你,你已經成功get此項技能~
以上,到此這一部分就結束了,希望對你們有所幫助~