zoukankan      html  css  js  c++  java
  • unittest框架系列六(unittest的TestSuite常用api说明)

    TestSuite(测试套件)

    欢迎加入测试交流群:夜行者自动化测试(816489363)进行交流学习QAQ

    –成都-阿木木


    class unittest.TestSuite(tests=())

    此类表示各个测试用例和测试套件的集合。该类提供测试运行程序所需的接口,以使其能够像其他任何测试用例一样运行。运行TestSuite实例与遍历套件(分别运行每个测试)的结果相同。

    TestSuite对象的行为与TestCase对象非常相似,不同之处在于它们实际上并未实施测试。相反,它们用于将测试聚合到应一起运行的测试组中。可以使用一些其他方法将测试添加到TestSuite实例:

    #!/user/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    ------------------------------------
    @Project : mysite
    @Time    : 2020/8/31 9:29
    @Auth    : chineseluo
    @Email   : 848257135@qq.com
    @File    : run.py
    @IDE     : PyCharm
    ------------------------------------
    """
    import unittest
    from unittest_demo import TestStringMethods
    
    
    def suite():
        suite = unittest.TestSuite()
        suite.addTest(TestStringMethods('test_upper'))
        suite.addTest(TestStringMethods('test_isupper'))
        return suite
    
    
    if __name__ == '__main__':
        runner = unittest.TextTestRunner()
        runner.run(suite())
    
    • addTests(test):将来自所有可迭代的TestCaseTestSuite 实例的测试添加到该测试套件中。这等效于遍历测试,调用addTest()每个元素。
    #!/user/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    ------------------------------------
    @Project : mysite
    @Time    : 2020/8/31 9:29
    @Auth    : chineseluo
    @Email   : 848257135@qq.com
    @File    : run.py
    @IDE     : PyCharm
    ------------------------------------
    """
    import unittest
    from unittest_demo import TestStringMethods
    
    
    def suite():
        suite = unittest.TestSuite()
        suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
        return suite
    
    
    if __name__ == '__main__':
        runner = unittest.TextTestRunner()
        runner.run(suite())
    

    TestSuite和TestCase类都拥有下面的方法:

    • run(restult):运行与此套件相关的测试,从结果对象中收集结果。请注意,不同于 TestCase.run()TestSuite.run()需要传递结果对象。
    #!/user/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    ------------------------------------
    @Project : mysite
    @Time    : 2020/8/31 9:29
    @Auth    : chineseluo
    @Email   : 848257135@qq.com
    @File    : run.py
    @IDE     : PyCharm
    ------------------------------------
    """
    import unittest
    from unittest_demo import TestStringMethods
    
    
    def suite():
        resObj = unittest.TestResult()
        suite = unittest.TestSuite()
        suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
        result = suite.run(resObj)
        return result
    
    
    if __name__ == '__main__':
        print(suite())
    
    • debug():运行与此套件相关的测试,而不收集结果。这允许将测试引发的异常传播到调用方,并可用于支持在调试器下运行测试。
    #!/user/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    ------------------------------------
    @Project : mysite
    @Time    : 2020/8/31 9:29
    @Auth    : chineseluo
    @Email   : 848257135@qq.com
    @File    : run.py
    @IDE     : PyCharm
    ------------------------------------
    """
    import unittest
    from unittest_demo import TestStringMethods
    
    
    def suite():
        suite = unittest.TestSuite()
        suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
        suite.debug()
    
    
    if __name__ == '__main__':
        suite()
    
    
    • countTestCases():返回此测试对象表示的测试数量,包括所有单个测试和子套件。
    #!/user/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    ------------------------------------
    @Project : mysite
    @Time    : 2020/8/31 9:29
    @Auth    : chineseluo
    @Email   : 848257135@qq.com
    @File    : run.py
    @IDE     : PyCharm
    ------------------------------------
    """
    import unittest
    from unittest_demo import TestStringMethods
    
    
    def suite():
        suite = unittest.TestSuite()
        suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
        print(suite.countTestCases())
    
    
    if __name__ == '__main__':
        suite()
    

     

  • 相关阅读:
    摘花生
    JAVA-初步认识-第三章-程序的流程控制
    JAVA-初步认识-第三章-小结
    JAVA-初步认识-第三章-三元运算符
    JAVA-初步认识-第三章-移位运算符练习
    JAVA-初步认识-第三章-移位运算符
    JAVA-初步认识-第三章-位运算符
    JAVA-初步认识-第三章-逻辑运算符(&&和||)
    JAVA-初步认识-第二章-算术运算符2续
    JAVA-初步认识-第三章-比较运算符逻辑运算符
  • 原文地址:https://www.cnblogs.com/chineseluo/p/13710521.html
Copyright © 2011-2022 走看看