Python
で大規模プロジェクトを開発する際、テストファイルを別のディレクトリに分けるのが一般的です。しかし、ディレクトリ構造がある場合にunittestをどう実行するかは悩みどころです。unittest
にはテストディスカバリー機能があり、ディレクトリ全体をスキャンしてテストを自動的に発見・実行してくれます。
python -m unittest discover
例えば、次のようなディレクトリ構造がある場合、
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
cd new_project
してからpython -m unittest discover
を実行すると、すべてのtest_*.py
ファイルが実行されます。また、test/__init__.py
が存在していれば、モジュールのインポートもスムーズです。