setUp():准备环境,执行每个测试用例的前置条件;
tearDown():环境还原,执行每个测试用例的后置条件;
setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;
import unittest
#要继承unittest.TestCase
class CalcTestcase(unittest.TestCase):
def setUp(self) -> None:
print("我是setUp")
def test01(self):
print("我是的测试方法test01")
def test02(self):
print("我是的测试方法test02")
def test03(self):
print("我是的测试方法test03")
def tearDown(self) -> None:
print("我是tearDown")
@classmethod
def setUpClass(cls) -> None:
print("我是setUpClass")
@classmethod
def tearDownClass(cls) -> None:
print("我是tearDownClass")
if __name__ == '__main__':
unittest.main()
#设置套件
# suite = unittest.TestSuite()
# #把测试方法添加到集合中,然后循环取值,在添加到套件里面输出
# list = ["test01","test02","test03"]
# for i in list:
# suite.addTest(CalcTestcase(i))
结果
开发代码
class Kf (object):
def add(self,a,b):
c = a + b
return c
def reduct(self,a,b):
c = a - b
return c
k = Kf()
print(k.add(3,4))
# if __name__ == '__main__':
# c = Kf()
# print(k.add(3,4))
进行测试开发的代码
import unittest
#首先要导入开发里面的类名进行测试
from ceshi.android import Kf
#创建实例化对象
k = Kf()
#相加的方法
jia = k.add(1,2)
#相减的方法
jian = k.reduct(10,8)
#要继承unittest.TestCase
class CalcTestcase(unittest.TestCase):
def setUp(self) -> None:
print("我是setUp")
def test01(self):
#获取开发相加的方法,在测试里面传值
#通过断言
self.assertEqual(3,jia)
#print("我是的测试方法test01")
def test02(self):
# 获取开发相减的方法,在测试里面传值
# 通过断言
self.assertEqual(2,jian)
#print("我是的测试方法test02")
def tearDown(self) -> None:
print("我是tearDown")
@classmethod
def setUpClass(cls) -> None:
print("我是setUpClass")
@classmethod
def tearDownClass(cls) -> None:
print("我是tearDownClass")
if __name__ == '__main__':
unittest.main()
#设置套件
# suite = unittest.TestSuite()
# #把测试方法添加到集合中,然后循环取值,在添加到套件里面输出
# list = ["test01","test02","test03"]
# for i in list:
# suite.addTest(CalcTestcase(i))