2017-05-17 1 views
0

unittest.TestCaseから派生したテストケースを持つモジュールがいくつかあるとします。すべてのこれらのモジュールは、一つのパッケージtestに常駐:1つのシェルコマンドですべてのテストを実行するには?

test/ 
    test_case1.py 
    test_case2.py 
    test_case3.py 

私は1つのシェルコマンドでtest内のすべてのモジュール内のすべてののテストを実行したいと思います。

def make_suite(): 
    ... # add test cases explicitly one by one 

if __name__ == "__main__": 
    suite = make_suite() 
    unittest.TextTestRunner().run(suite) 

今私はすべてテストケースを実行するための方法があるかどうだろう:それを行うためには、私はすべてのテストケースとTestSuite、およびmainを作成し、新しいモジュールtest_all.pyを、追加しましたもちろん

python -m unittest discover <test_directory> 

、すべてのテスト:testにはPython 2.7以降でTestSuite

+0

あなたはnosetests' 'のようなツールを使用するのではなくていますか? – chepner

+0

絶対に必要でない場合はYesです。 – Michael

答えて

4

をせずに、あなたはこのような何かを行うことができますディレクトリには__init__.pyファイルが含まれている必要があります。

noseのようなツールを使用してテストを実行することもできます。

も参照してください:

+0

ありがとうございました。おそらく私が必要とするのは '発見'の解決策です。 – Michael

+0

素晴らしい。それがうまくいけば、私はあなたが答えを受け入れることを願って –

1
for f in ./test/test_case*.py; do python $f; done 
+0

私は必要なものではなく、とにかく感謝。 – Michael

関連する問題