一、创建加法类
#定义一个数学加法类
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文本的方式传入测试数据,形成测试报告