• 测试套件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)
  • 相关阅读:
    foreach的使用(c#)
    ssl详解
    c#的html格式化输出(看php10012视频时想到的)
    PHP句法规则详解(转载)
    C#中Bitmap类实现对图像操作的一些方法(Asp.net(C#)放大缩小图片尺寸)
    c# 窗体最小化到托盘
    C# 中的委托和事件
    C# StringBuilder和String浅析
    c#值类型和引用类型
    后台关闭页面
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12291916.html
Copyright © 2020-2023  润新知