zoukankan      html  css  js  c++  java
  • unittest之suite测试集(测试套件)

    suite 这个表示测试集,不要放在class内,否则会提示"没有这样的测试方法在类里面 ",我觉得它唯一的好处就是调试的时候可以单独调试某个class而已,我一般不用它,调试时可以注释不需要的class啊 。不同接口用不同的class也是一种用法,不过那样用我下面说的import不同py的方法更好,因为所有用例写在一起的话文件太大了

    class PhpTest(unittest.TestCase):
        def setUp(self):
            #预置环境
            print '--------------PhpTestSetUp--------------
    '
        def tearDown(self): 
            #清理环境
            print '--------------PhpTestClear--------------
    ' 
             
        def test_php(self):
            print 'test_php'       
        
        def test_phplog(self):              
            print 'test_phplog'
         
         
    def suite():  #suite 这个表示测试集,不要放在class内
        suite = unittest.TestSuite()
        suite.addTest(NginxTest("suite_1"))
        suite.addTest(NginxTest("suite_2"))
        suite.addTest(PhpTest("test_php"))
        suite.addTest(PhpTest("test_phplog"))
        unittest.TextTestRunner().run(suite)
         
    if __name__ == '__main__':
        # unittest.main(exit = False,verbosity=2)#它是全局方法,把它屏蔽后,不在suite的用例就不会跑,exit = False表示中间有用例失败也继续执行;还有比较常用的verbosity=2,表示显示def名字
        suite()#执行suite

    如果接口相当多,为了方便维护,建议每个case用独立的py来写,然后用一个“总入口”去import所有py,然后再调用就行了,这是suite就派上用场了

      举个例子,luatestcase.py如下:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import os
    import time
    import datetime
    import unittest
    
    class LuaTest(unittest.TestCase):
        def runTest(self):
            print 'anything'
        def setUp(self): 
            #预置环境
            print '--------------LuaTestsetUp--------------
    '
        def tearDown(self):  
            #清理环境
            print '--------------LuaTestclear--------------
    '  
            
        def test_lua(self):
            print 'test_lua'        
       
        def test_lualog(self):               
            print 'test_lualog'
            
    def casesuite():
        suite = unittest.TestSuite()
        suite.addTest(LuaTest("test_lua"))
        suite.addTest(LuaTest("test_lualog"))
        unittest.TextTestRunner().run(suite)
    复制代码

      调用luatestcase.py的“总入口py”就得这样写:

    复制代码
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import os,sys
    import time
    import datetime
    import unittest
    
    import luatestcase
    
    if __name__ == '__main__':
        luatestcase.casesuite()
    复制代码

      如果luatestcase.py没有用casesuite“收集”它的用例的话,总入口调不了里面的用例的

  • 相关阅读:
    Regular Expression Basic
    Getting http address from text file by awk script
    日报、周报,项目进度汇报有意义吗?
    目不转睛地盯着电脑屏幕,认真找Bug的你
    这组朋友圈,得罪了半个互联网圈!
    2021年,让你看透世界的8个底层逻辑
    再见,胡阿姨!再见,共享单车!
    @所有人,2021新年快乐,每个人都了不起!
    为了实现而工程,大道至简第五章读后感
    Java第四次上课博文动手动脑
  • 原文地址:https://www.cnblogs.com/111testing/p/6477005.html
Copyright © 2011-2022 走看看