测试套件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)
原文地址:https://www.cnblogs.com/zhang-da/p/12291916.html