自动化四:单元测试框架二
单元测试框架:unittest
单元测试框架基本构造二:
-类方法 setUpClass 和 类方法 tearDownClass 在整个测试类中,只执行一次,和实例方法 setUp、tearDown区别在于:实例方法是没执行一次case函数实例方法都会被执行
-注意:不管是类方法setUpClass、tearDownClass 还是实例方法setUp、tearDown,他们代码的书写顺序是任意的,没有固定。
# encoding=utf-8 import unittest # 被测试类 class myclass(object): @classmethod def sum(self, a, b): return a + b # 将两个传入参数进行相加操作 @classmethod def sub(self, a, b): return a - b # 将两个传入参数进行相减操作 class mytest(unittest.TestCase): @classmethod def setUpClass(cls): # 每个测试类的setup方法,只会执行一次 " 初始化类固件 " print("----setUpClass") @classmethod def tearDownClass(cls): # 每个测试类的tearDown方法,只会执行一次 "重构类固件" print("----tearDownClass") def setUp(self): # 初始化工作,每个测试方法均会执行一次 self.a = 3 self.b = 1 print ( "--setUp") def tearDown(self): # 退出清理工作,每个测试方法均会执行一次 print("--tearDown") def testsum(self): # 具体的测试用例,一定要以test开头 # 断言这个函数的结果是否是4,如果不是打印test sum fail self.assertEqual(myclass.sum(self.a, self.b), 4, 'test sum fail') def testsub(self): # 断言这个函数的结果是否是2,如果不是打印test sub fail self.assertEqual(myclass.sub(self.a, self.b), 2, 'test sub fail') if __name__ == '__main__': unittest.main() # 启动单元测试
执行结果: