功能测试
1、用例 TestCase
2、执行用例 1、TestSuite 存储用例 2、TestLoader 找用例,加载用例,存到1的TestSuite
3、对比实际结果 期望结果 判断用例是否通过 # 断言 Assert
4、出具测试报告 TextTestRunner
一、创建一个python文件math_method
class MathMethod:
def __init__(self,a,b):
self.a=a
self.b=b
def add(self):
return self.a+self.b
def multi(self):
return self.a*self.b
二、创建一个python文件class_01
import unittest
from day0210.math_method import MathMethod
class TestMathMethod(unittest.TestCase):
def test_add_two_positive(self):
res = MathMethod(1, 1).add()
print("1+1的结果值是:", res)
self.assertEqual(2, res)
def test_add_two_zero(self):
res = MathMethod(0, 0).add()
print("0+0的结果值是:", res)
self.assertEqual(1, res , "两个0相加出错了")
def test_add_two_negative(self):
res = MathMethod(-1, -2).add()
print("-1+-2的结果值是:", res)
self.assertEqual(-3, res)
class TestMultiMethod(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, -2).multi()
print("-1*-2的结果值是:", res)
三、创建一个python文件class_02
import unittest
import HTMLTestRunner
from day0210.class_01 import TestMathMethod,TestMultiMethod
from day0210 import class_01
suite=unittest.TestSuite()
loader=unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(TestMathMethod))
with open("test_report.html","wb") as file:
runner=HTMLTestRunner.HTMLTestRunner(
stream=file,
title='python11期单元测试报告',
description='python11期各位大佬们的报告:',
verbosity=2,
)
runner.run(suite)
四、HTMLTestRunner
HTMLTestRunner第三方包的下载参照 https://blog.csdn.net/weixin_37579123/article/details/84900157
五、setUp和tearDown
def setUp(self):
print("我要开始执行测试用例了")
def tearDown(self):
print("我已经执行完毕测试用例了")
什么时候执行?
setUp 执行每一条测试用例之前会执行setUp
tearDown 每一条测试用例执行完毕之后都会执行tearDown