35

私の unittest フォルダーはこのように構成されています。

.
|-- import
|   |-- import.kc
|   |-- import.kh
|   `-- import_test.py
|-- module
|   |-- module.kc
|   |-- module.kh
|   `-- module_test.py
`-- test.py

unittest Pythonモジュールを使用して、test.pyそれぞれを実行するために単純に実行したいと思います。*_test.py

現在、私のtest.pyには含まれています

#!/usr/bin/env python

import unittest

if __name__ == "__main__":
    suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
    unittest.TextTestRunner(verbosity=2).run(suite)

Python のドキュメントには、サブフォルダーでテストを自動的に検出する必要があると記載されています。しかし、そうではありません。

現時点では、出力のみ

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

ファイルをルート ディレクトリに移動すると問題なく動作するため、ファイルに問題はないと確信して*_test.pyいます。

4

2 に答える 2

43

およびディレクトリに追加__init__.pyします。importmodule

于 2012-10-01T13:34:21.957 に答える
3

切り替えることができる場合は、バニラ モジュールの代わりにノーズを使用することを検討してください。unittest独自の test.py ファイルなどをいじる必要はありません。run は、nosetestsすべてのテストを見つけて実行します。

于 2012-10-01T13:38:19.077 に答える