-1
以下python脚本搜索并执行当前文件夹中的所有pyunit测试。如何使附加的pyunit python脚本搜索子文件夹中的测试
"""Regression testing framework This module will search for scripts in the same directory named XYZtest.py. Each such script should be a test suite that tests a module through PyUnit. (As of Python 2.1, PyUnit is included in the standard library as 'unittest'.) This script will aggregate all found test suites into one big test suite and run them all at once. """ import sys, os, re, unittest def regressionTest(): path = os.path.abspath(os.path.dirname(sys.argv[0])) files = os.listdir(path) print 'You are HERE! ' ,os.getcwd() test = re.compile(".test\.py$", re.IGNORECASE) files = filter(test.search, files) filenameToModuleName = lambda f: os.path.splitext(f)[0] moduleNames = map(filenameToModuleName, files) modules = map(__import__, moduleNames) load = unittest.defaultTestLoader.loadTestsFromModule return unittest.TestSuite(map(load, modules)) if __name__ == "__main__": unittest.main(defaultTest="regressionTest")
我怎样才能得到它在子文件夹中搜索测试文件。
也许是这样的:
import sys, os, re, unittest, fnmatch
for root, dirs, files in os.walk(path): for filename in fnmatch.filter(files, pattern): print os.path.join(root, filename)
你可以使用[鼻子](http://somethingaboutorange.com/mrl/projects/nose/1.0.0/)。它几乎为你自动完成。 – chmullig 2011-02-11 16:54:38