私のunittestフォルダはこのように構成されています。サブフォルダを使ったPythonユニットテスト
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
私は単にPythonモジュールをunittestの使用して、私の*_test.py
のそれぞれを実行するためにtest.py
を実行したいと思います。 は現在、私のtest.pyは、Pythonドキュメントは、それが自動的にサブフォルダに私のテストを発見する必要があることを述べている
#!/usr/bin/env python
import unittest
if __name__ == "__main__":
suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
unittest.TextTestRunner(verbosity=2).run(suite)
含まれています。しかし、それはしません。現時点で
、それだけで私はルートディレクトリにそれらを移動すると、それが正常に動作しますので、それは、私の*_test.py
ファイルの問題ではありません確信している
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
を出力.. 何午前私は間違っている?
「__init __。py」ファイルに触れただけでうまくいきました。ありがとう。なぜ私はこれをしなければならないのか説明できますか?そしてもう一つの解決策はありますか?私は他の人と働いているので、テストを作成するのが最も簡単な方法にしたいと思います。 – tomahh
テストディスカバリの実装方法の成果物です。基本的に、テストを含む各ディレクトリは、Pythonモジュールとしてインポート可能でなければなりません。詳細については、[docs](http://docs.python.org/2/library/unittest.html#test-discovery)を参照してください。 –