makeSuite(自动挡)

makeSuite执行顺序:

  • 创建容器对象,并且将用例添加到容器中

  • 找个去执行容器中的用例,这个我们称为执行器

makeSuite容器有两种方式添加用例:

  • suite.addTest(用例对象),每次往容器中添加一个

  • suite.addTests([用例对象1, 用例对象2, ......]),一次添加多个用例

  • suite.countTestCases(),输出当前容器中有多少用例

注意:有的同学可能在写unittest.makeSuite的时候,点不出来makeSuite,不要怕,生写就完了,千万不要怕飘黄。

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())

def test_case_01(self):
self.assertEqual(1, 1)

def test_case_02(self):
self.assertEqual(1, 0)

if __name__ == '__main__':
# 创建容器并且同时将用例添加到容器中
suite = unittest.makeSuite(testCaseClass=MyTestCase, prefix='case')
print(11111111111, suite.countTestCases())
# 执行器执行容器中的用例
unittest.TextTestRunner().run(suite)

# 创建容器并且同时将用例添加到容器中
suite = unittest.makeSuite(testCaseClass=MyTestCase)
print(11111111111, suite.countTestCases())
# 执行器执行容器中的用例
unittest.TextTestRunner(verbosity=2).run(suite)


# 创建容器并且同时将用例添加到容器中
map_obj = map(MyTestCase, ['case_01', 'case_02', 'case_03'])
suite = unittest.makeSuite(testCaseClass=MyTestCase)
print(11111111111, suite.countTestCases())
suite.addTests(map_obj)
print(22222222222, suite.countTestCases())
# 执行器执行容器中的用例
unittest.TextTestRunner(verbosity=2).run(suite)

猜你喜欢

转载自www.cnblogs.com/zhang-da/p/12291925.html