一、創建加法類
#定義一個數學加法類 class Mathmethod(): def add(self,a,b): return(a+b) def sub(self,a,b): return(a-b)
二、創建測試用例,並進行參數化
import unittest from HTMLTestRunner import HTMLTestRunner from requesttest.math1.Mathmethod import Mathmethod # 引入Mathmethod模塊 #import HTMLTestRunnerNew class TestMathmethod(unittest.TestCase): #超繼承(既有父類的特性,又有自己的新特性) #子類有跟父類相同的特性,就會覆蓋父類的特性 重寫 def __init__(self,methodName,a,b,excepted): super(TestMathmethod,self).__init__(methodName)#超繼承父類的初始化函數 self.a=a self.b=b self.excepted=excepted def test_method_add(self): res=Mathmethod().add(self.a,self.b) print('兩個數值相加結果是',res) self.assertEqual(self.excepted,res)
三、生成測試報告
(1)用列表的形式引入測試數據並生成測試報告
import unittest from HTMLTestRunner import HTMLTestRunner from requesttest.math1.TestMathmethod import TestMathmethod test_data=[[0,0,0],[1,2,3],[-1,5,4],[1,-3,-2],[-1,-1,-2]]#列表嵌套,二位列表 testunit=unittest.TestSuite()#生成單元測試流程 for data in test_data: testunit.addTest(TestMathmethod("test_method_add",data[0],data[1],data[2]))#加載測試用例 fp=open('D:\\test\\unittest1.html','wb')#創建測試報告,以寫的方式存入某個路徑 runner=HTMLTestRunner( stream=fp, title="加法測試", description="用例執行情況:" ) runner.run(testunit) fp.close()
(2)用讀取TXT文本的方式傳入測試數據,形成測試報告