Open ftnext opened 3 years ago
Pipfileに明示されているpytest
を使うことにしました。
https://github.com/codeforjapan/mynumbercard_statistics/blob/76d5cbd5b4cbe08aa94caf4998cffd9759c7b51a/Pipfile#L17
unittest
に慣れているので、簡単なテストはpytest
で、モックを多く使う複雑なテストはunittest
で書いています
pytest
コマンドだと以下のImportErrorになり、解決方法が見つけられていないため、代わりのコマンドpython -m pytest tests/
でテストを実行しています
ref: https://stackoverflow.com/a/34140498
__________ ERROR collecting tests/mynumbercard_data/test_download.py ___________
ImportError while importing test module '.../tests/mynumbercard_data/test_download.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/mynumbercard_data/test_download.py:10: in <module>
from mynumbercard_data import download
E ImportError: cannot import name 'download' from 'mynumbercard_data' (unknown location)
31 をファイル単位で進めていきます。
download.py は
mynumbercard_data
の下のモジュールには依存しないので、テストコードを書く量は少ないと見積もり、選択しました。 テスト環境の設定と合わせて実施しますif __name__ == "__main__":
に続くブロックを関数化してテスト追加--all
オプションを指定