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

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