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