zoukankan      html  css  js  c++  java
  • 测试套件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)
  • 相关阅读:
    猫眼 top_100 爬取 ___只完成了第一页
    内涵段子——脑筋急转弯——spider
    django 常用 详解
    获取定位信息
    对AFNetworking的二次封装
    对UIImageView+WebCache的封装
    CoreText 实现图文混排
    剖析RAC中的@weakify、@strongify
    实现点击按钮旋转动画
    java面向对象编程思想的理解
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12291916.html
Copyright © 2011-2022 走看看