• Python unittest模块心得(二)


    基础概念介绍请参看: http://www.cnblogs.com/frost-hit/p/8295818.html

    组织测试用例 unittest.TestSuite(tests=())

    除了使用unittest.main()运行用例,还可以使用TestSuite添加用例并运行,TestSuite类代表了test cases和test suites的集合,例子如下:

    import unittest
    
    class A(unittest.TestCase):
        def test_a(self):
            print ('test_a')
    
    class B(unittest.TestCase):
        def test_b(self):
            print ('test_b')
    
        def test_c(self):
            print ('test_c')
    
    if __name__ == '__main__':
        
        #第一种添加case到suite的方法
        suite1 = unittest.TestSuite(tests=[B('test_c'), A('test_a')])
        suite = unittest.TestSuite(tests=(suite1, B('test_b')))
        
        #第二种添加case到suite的方法
        suite1=unittest.TestSuite()
        suite1.addTest(B('test_b'))
        suite1.addTest(A('test_a'))
        suite1.addTest(B('test_c'))
        unittest.TextTestRunner().run(suite1)
    ###与TestCase.run()不同,TestSuite.run()传入结果对象,就是TextTestRunner()

    运行结果:

    test_a
    test_b
    test_c
    #无论向suite添加case的顺序如何,都会按照字母排序再运行

    加载和运行测试用例 unittest.TestLoader

    loadTestsFromTestCase(testCaseClass)
    #从TestCase加载用例
    loadTestsFromModule(module, pattern=None)
    #从模块加载用例,

    都是一些类似的加载用例的方法。

    生成HTML格式的测试报告:

    unittest默认的TextTestRunner()是将报告输出到stdout,如果想要生成HTML格式的报告只需要将TextTestRunner()替换成HTMLTestRunner().

  • 相关阅读:
    我的vimrc设置
    nginx
    选中
    vscode垂直选中列选中
    lsof
    bashrc和bash_profile
    centos安装tree命令
    linux查看磁盘大小df命令
    linux查看文件夹大小du命令
    git本地推送远程
  • 原文地址:https://www.cnblogs.com/frost-hit/p/8340412.html
Copyright © 2020-2023  润新知