import unittest
import parameterized
#这个方法的作用可以理解为一种 按什么方式进行操作
def my_sum(a,b):
a += 1
b += 2
return a + b
class TestSum(unittest.TestCase):
def setUp(self):
print('使用这个方法钱')
#1.可以使用@parameterized装饰器给他指定参数需要和test_001(self,x,y,z)里的xyz对齐x=1 y =1 z=5
@parameterized.parameterized.expand([(1,1,5),(-1,0,2),(-10,-5,-12)])
def test_001(self,x,y,z):
#1+1 + 1+2
number =my_sum(x,y)
#断言 返回的最终结果是5 等于z(5)所以成功
self.assertEqual(number, z)
#2.手动写数据
def test_002(self):
number=my_sum(-1, 4)
self.assertEqual(number,6)
def test_003(self):
number=my_sum(-1, -5)
self.assertEqual(number, -3)
def test_004(self):
number=my_sum(0, -1)
self.assertEqual(number, 2)
def tearDown(self):
print('方法执行晚之后')
# 将测试用力添加到套件里面
#如果是手动写需要以下的加载到套件中 使用装饰器的话 以下的数据可以不要(删除) 直接右键运行
suite = unittest.TestSuite()
suite.addTest(TestSum("test_001"))
suite.addTest(TestSum("test_002"))
suite.addTest(TestSum("test_003"))
suite.addTest(TestSum("test_004"))
# 执行suite 对象中的用例
runner = unittest.TextTestRunner()
runner.run(suite)