python unittest+parameterized,单元测试框架+参数化
总要写新的自动化测试模块,在这里把demo记录下来,后面方便自己直接复制粘贴
from nose_parameterized import parameterized import unittest class DemoTest(unittest.TestCase): list_test = [(1,2),(2,2)] def setUp(self): """ 每条用例执行之前都会执行的操作放在此处 定义一些变量 打开文件 连接数据库 前置数据等操作 """ pass return def tearDown(self): """ 每条用例执行完之后都会执行的操作放在此处 数据清理 关闭文件或者数据库连接等 """ pass return @classmethod def setUpClass(cls): """ 这个只有在开始和结束的时候执行一次,即执行第一个用例之前 """ print('-----') return @classmethod def tearDownClass(cls): """ 这个只有在开始和结束的时候执行一次,即执行最后一个用例之后 """ print('=====') return @parameterized.expand(input=list_test) def test_1(self, a, b): """ from nose_parameterized import parameterized,引用parameterized之后,用装饰器,可以实现参数化 list_test是一个列表,列表的元素是元组,元组内包含所需各个参数(a, b) """ s = a + b self.assertEqual(s,4) return def test_2(self): self.assertEqual(1,2) return if __name__ == "__main__": suite = unittest.TestSuite() # 定义一个测试套件 suite.addTests(unittest.makeSuite(DemoTest)) # 这个类里面所有的测试用例
runner = unittest.TextTestRunner()
runner.run(suite) print('执行到当下了')