python-unitest
1. 基础类
class MathMethod:
def __init__(self,a,b):
self.a = a
self.b = b
def add(self):
return self.a + self.b
def sub(self):
return self.a - self.b
def divide(self):
return self.a/self.b
def multi(self):
return self.a * self.b
2. 测试类
import unittest
from test01.class_math import MathMethod
class TestAddMethod(unittest.TestCase):
def test_add_two_positive(self):
res = MathMethod(1,1).add()
print("1+1的结果值:", res)
def test_add_two_zero(self):
res = MathMethod(0,0).add()
print("0+0的结果值:", res)
def test_add_two_negative(self):
res = MathMethod(-1,-1).add()
print("-1+ -1的结果值:", res)
class TestMuiltiMethod(unittest.TestCase):
def test_multi_two_positive(self):
res = MathMethod(1,1).multi()
print("1*1的结果值:", res)
def test_multi_two_zero(self):
res = MathMethod(0,0).multi()
print("0*0的结果值:", res)
def test_multi_two_negative(self):
res = MathMethod(-1,-1).multi()
print("-1* -1的结果值:", res)
if __name__ == '__main__':
unittest.main()
3.测试集
import unittest
from HTMLTestRunnerNew import HTMLTestRunnerNew
from test01.class_unitest import TestAddMethod
from test01 import class_unitest
suite = unittest.TestSuite()
# 方法一
# suite.addTest(TestAddMethod("test_add_two_zero"))
# suite.addTest(TestAddMethod("test_add_two_positive"))
# 方法二
loader = unittest.TestLoader()
#suite.addTest(loader.loadTestsFromTestCase(TestAddMethod))
# 方法三
suite.addTest(loader.loadTestsFromModule(class_unitest))
4.执行及测试报告
报告模板下载地址:
HTMLTestRunnerNew文件下载
链接:https://pan.baidu.com/s/1AVmXq1r_f8Xz8zSumPjWUw
提取码:gru7
代码:
from HTMLTestRunnerNew import HTMLTestRunnerNew
# runner=unittest.TextTestRunner()
# runner.run(suite)
# with open('text.txt','w+',encoding='utf-8') as file:
# runner = unittest.TextTestRunner(stream=file, descriptions=True, verbosity=1)
# runner.run(suite)
with open("test_report.html", 'wb') as file1:
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file1, verbosity=2,
title="单元测试报告",
description="第一份单元测试报告"
,tester="zh")
runner.run(suite)
# file1 = open("test_report.html", 'wb')
# runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file1, verbosity=2,
# title="单元测试报告",
# description="第一份单元测试报告", )
#
# runner.run(suite)

浙公网安备 33010602011771号