-1

次のPythonスクリプトは、現在のフォルダー内のすべてのpyunitテストを検索して実行します。

"""回帰テストフレームワーク

このモジュールは、という名前の同じディレクトリでスクリプトを検索します
XYZtest.py。このような各スクリプトは、テストスイートである必要があります。
PyUnitを介したモジュール。(Python 2.1の時点で、PyUnitはに含まれています
'unittest'としての標準ライブラリ。)このスクリプトはすべてを集約します
テストスイートを1つの大きなテストスイートに見つけ、それらをすべて一度に実行します。
"" "

sys、os、re、unittestをインポートします

def回帰テスト():
    パス=os.path.abspath(os.path.dirname(sys.argv [0]))
    files = os.listdir(path)
    印刷'あなたはここにいます!'、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
    unittest.TestSuite(map(load、modules))を返します

__name__ == "__main__"の場合:
    unittest.main(defaultTest = "regressionTest")

サブフォルダ内のテストファイルを検索するにはどうすればよいですか。

多分次のようなものです:

sys、os、re、unittest、fnmatchをインポートします
    os.walk(path)内のroot、dirs、ファイルの場合:
        fnmatch.filter(files、pattern)のファイル名の場合:
            print os.path.join(root、filename)
4

1 に答える 1

0

変化する:

def regressionTest():
   path = os.path.abspath(os.path.dirname(sys.argv[0]))

に:

def regressionTest(somearg):
   path = os.path.abspath(os.path.dirname(somearg))

その後:

for root, dirs, files in os.walk(path):
    regressionTest(root)
于 2011-02-11T16:50:29.100 に答える