zoukankan      html  css  js  c++  java
  • 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().

  • 相关阅读:
    python基础总结一
    python解释器介绍与安装
    09 字符编码
    python 九九乘法表
    08 基本数据类型及内置方法
    07 Python语法入门之流程控制
    06 Python语法入门之与用户交互、运算符
    05 Python语法入门之垃圾回收机制
    04 Python语法入门之基本数据类型
    03 python语法入门之变量
  • 原文地址:https://www.cnblogs.com/frost-hit/p/8340412.html
Copyright © 2011-2022 走看看