以下 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, 文件名)