以下 python 脚本搜索并执行当前文件夹中的所有 pyunit 测试。
"""回归测试框架 此模块将在名为的同一目录中搜索脚本 XYZtest.py。每个这样的脚本都应该是一个测试套件,用于测试 模块通过 PyUnit。(从 Python 2.1 开始,PyUnit 包含在 标准库为“unittest”。)这个脚本将聚合所有 将测试套件整合到一个大测试套件中,并一次运行它们。 """ 导入系统、操作系统、重新、单元测试 定义回归测试(): 路径 = os.path.abspath(os.path.dirname(sys.argv[0])) 文件 = os.listdir(路径) 打印'你在这里!' ,os.getcwd() test = re.compile(".test\.py$", re.IGNORECASE) 文件 = 过滤器(test.search,文件) filenameToModuleName = lambda f: os.path.splitext(f)[0] moduleNames = map(filenameToModuleName, 文件) 模块 = 地图(__import__,模块名称) load = unittest.defaultTestLoader.loadTestsFromModule 返回 unittest.TestSuite(map(load, modules)) 如果 __name__ == "__main__": unittest.main(defaultTest="regressionTest")
我怎样才能让它在子文件夹中搜索测试文件。
也许是这样的:
导入 sys、os、re、unittest、fnmatch
对于 os.walk(path) 中的根目录、目录和文件: 对于 fnmatch.filter(files, pattern) 中的文件名: 打印 os.path.join(root, 文件名)