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

     

  • 相关阅读:
    c#与JavaScript实现对用户名、密码进行RSA非对称加密
    NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析
    NPOI操作EXCEL(四)——反射机制批量导出excel文件
    NPOI操作EXCEL(三)——反射机制进行excel表格数据的解析
    NPOI操作EXCEL(二)——大量不同模板时设计方式
    由一个投票算法引发的思考
    .NET WebAPI 实现图片上传(包括附带参数上传图片)
    .NET WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)
    .NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制
    js中的console
  • 原文地址:https://www.cnblogs.com/chineseluo/p/13710521.html
Copyright © 2020-2023  润新知