Python unnittest 执行文件夹下所有的测试用例demo

Python unnittest 执行文件夹下所有的测试用例demo_第1张图片

RunAll.py

# -*-coding=utf-8 -*-
import os

# 列出某个文件夹下的所有 case,这里用的是 python,
# 所在 py 文件运行一次后会生成一个 pyc 的副本
caselist = os.listdir('D:\\babytree\\MyTest\\test_case')
for a in caselist:
    s = a.split('.')[1]  # 选取后缀名为 py 的文件
    if s == 'py':
        os.system('D:\\babytree\\MyTest\\test_case\\\%s 1>>log.txt 2>&1'%a)
        # 此处执行 dos 命令并将结果保存到 log.txt

test_1.py

import unittest
import random


class test_A(unittest.TestCase):
    def test_case_001(self):
        x = random.randint(1, 100)
        print("test_case_001", x)
        globals()["wocao"] = x

    def test_case_002(self):
        print("test_case_002", globals()["wocao"])


class test_B(unittest.TestCase):
    def test_case_003(self):
        print("test_case_003", globals()["wocao"])


if __name__ == '__main__':
    unittest.main()

test_2.py

import unittest
import random


class test_C(unittest.TestCase):
    def test_case_004(self):
        x = random.randint(1, 100)
        print("test_case_004", x)
        globals()["wocao"] = x

    def test_case_005(self):
        print("test_case_005", globals()["wocao"])


class test_D(unittest.TestCase):
    def test_case_006(self):
        print("test_case_006", globals()["wocao"])

生成的报告txt内容为:

('test_case_001', 38)
.('test_case_002', 38)
.('test_case_003', 38)
.
----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK
('test_case_004', 9)
.('test_case_005', 9)
.('test_case_006', 9)
.
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

你可能感兴趣的:(Python,接口及自动化)