unittest批量执行

作者: 只想躺赢 | 来源:发表于2018-03-25 23:01 被阅读6次
    image.png

    如图在untitled下创建了case这个文件夹,在case下又创建了baidu 和test两个文件夹,在baidu下创建了test_03和test_04,在test下创建了test_01和test_02

    test.py是这样的

      #coding=utf-8
      import unittest
      import time
      class Test(unittest.TestCase):
          def setUp(self):
              print "start!"
        def tearDown(self):
         time.sleep(1)
              print "end!"
        def test01(self):
              print "执行测试用例01"
        def test03(self):
              print "执行测试用例03"
        def test02(self):
              print "执行测试用例02"
      if __name__=="__main__":
      unittest.main()
    

    然后创建了一个run_case执行所有文件

     #coding=utf-8
     import  unittest,os
     case_path=os.path.join(os.getcwd(),"case")
     report_path=os.path.join(os.getcwd(),"report")
     discover=unittest.defaultTestLoader.discover(case_path,
                                               pattern="test*.py",top_level_dir=None)
     print(discover)
    

    discover下 :
    case_path这个是待执行用例的目录。
    pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。
    top_level_dir:这个是顶层目录的名称,一般默认等于None。

    执行run_case,
    结果是这样的
    <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<baidu.test_01.Test testMethod=test01>, <baidu.test_01.Test testMethod=test02>, <baidu.test_01.Test testMethod=test03>]>]>, <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<baidu.test_02.Test testMethod=test01>, <baidu.test_02.Test testMethod=test02>, <baidu.test_02.Test testMethod=test03>]>]>, <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<test.test_03.Test testMethod=test01>, <test.test_03.Test testMethod=test02>, <test.test_03.Test testMethod=test03>]>]>, <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<test.test_04.Test testMethod=test01>, <test.test_04.Test testMethod=test02>, <test.test_04.Test testMethod=test03>]>]>]>

    相关文章

      网友评论

        本文标题:unittest批量执行

        本文链接:https://www.haomeiwen.com/subject/fcmkcftx.html