测试套件TestSuite(半自动)
测试套件,把测试套件理解为容器,容器里面存放是一个个的测试用例,然后执行这个容器中的测试用例。
此时多个用例执行顺序:
-
首先,收集用例
-
将用例添加到容器中
-
找个
人
去执行容器中的用例,这个人
我们称为执行器
TestSuite容器有两种方式添加用例:
-
suite.addTest(用例对象),每次往容器中添加一个
-
suite.addTests([用例对象1, 用例对象2, ......]),一次添加多个用例
suite.countTestCases(),输出当前容器中有多少用例
# ------------------ suite.addTest ------------------------------
import unittest
class MyTestCase(unittest.TestCase):
def case_01(self):
self.assertTrue('FOO'.isupper()) # 'FOO'.isupper() --> True
def case_02(self):
self.assertTrue('Foo'.isupper())
def case_03(self):
self.assertTrue('bar'.islower())
if __name__ == '__main__':
# 1. 收集用例
case_01 = MyTestCase('case_01')
case_02 = MyTestCase('case_02')
case_03 = MyTestCase('case_03')
# 2. 创建一个容器,将第一步中的用例一一的 他添加到容器中
# 2.1 创建容器
suite = unittest.TestSuite()
# 2.2 j添加用例到容器中
suite.addTest(case_01)
suite.addTest(case_02)
suite.addTest(case_03)
print(111111111, suite.countTestCases())
# 3. 执行器执行容器中的用例
unittest.TextTestRunner().run(suite)
# ------------------ suite.addTests ------------------------------
import unittest
class MyTestCase(unittest.TestCase):
def case_01(self):
self.assertTrue('FOO'.isupper()) # 'FOO'.isupper() --> True
def case_02(self):
self.assertTrue('Foo'.isupper())
def case_03(self):
self.assertTrue('bar'.islower())
if __name__ == '__main__':
# 1. 收集用例
case_01 = MyTestCase('case_01')
case_02 = MyTestCase('case_02')
case_03 = MyTestCase('case_03')
# 2. 创建一个容器,将第一步中的用例一一的 他添加到容器中
# 2.1 创建容器
suite = unittest.TestSuite()
# 2.2 j添加用例到容器中
suite.addTest()
suite.addTests([case_01, case_02,case_03])
print(111111111, suite.countTestCases())
# 3. 执行器执行容器中的用例
unittest.TextTestRunner().run(suite)
# ------------------- map ----------------------
import unittest
class MyTestCase(unittest.TestCase):
def case_01(self):
self.assertTrue('FOO'.isupper()) # 'FOO'.isupper() --> True
def case_02(self):
self.assertTrue('Foo'.isupper())
def case_03(self):
self.assertTrue('bar'.islower())
if __name__ == '__main__':
# 1. 收集用例
obj = map(MyTestCase, ['case_01', 'case_02', 'case_03'])
# 2. 创建一个容器,将第一步中的用例一一的 他添加到容器中
# 2.1 创建容器
suite = unittest.TestSuite()
# 2.2 j添加用例到容器中
suite.addTests(obj)
print(111111111, suite.countTestCases())
# 3. 执行器执行容器中的用例
unittest.TextTestRunner().run(suite)