python3.7 unittestトラブルメモ
※python 3.7時点での方法,今後のアップデートで変わる可能性あり.
unittestがうまく動作しなかったときの対処メモ(大体パス通せば解決するはず).
今回はパスを通さず手っ取り早くテストできる状態にする.
以下のファイル構成とする.
project/
test_target.py
test/
test_1.py
\__init__.py
ポイントとしては,
- テストパッケージが名前空間パッケージ(namespace package)になっていない(init.pyがあるか)
- テストファイルを単体実行する場合,テスト対象モジュールのパスが見えるか
解決早見表
trouble |
solve |
module = __import__(module_name) ModuleNotFoundError: No module named 'test.test_1' |
使用コマンドが名前空間パッケージに対応していないので__init__.py を追加する |
import test_target ModuleNotFoundError: No module named 'test_target' |
(親にある)テスト対象モジュールを読めていないのでsys.path.append() でパスを追加 or python unittest -m でunittestをモジュール呼び出しスクリプト実行する. |
環境
続きを読む