codeforjapan / mynumbercard_statistics

The dashboard of my number card statistics
MIT License
22 stars 8 forks source link

download.py のテストコードを書く #158

Open ftnext opened 3 years ago

ftnext commented 3 years ago

31 をファイル単位で進めていきます。

download.py は mynumbercard_data の下のモジュールには依存しないので、テストコードを書く量は少ないと見積もり、選択しました。 テスト環境の設定と合わせて実施します

ftnext commented 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)