WindowsでVSCodeとAnaconda3(Python3)で開発環境を整えることにしました。
目標は次の通りです。
- VSCode上で関数の定義へのジャンプや参照、コード補完ができる
- docstring(JavaでいうJavadoc)が楽にかける
- テストのカバレッジ取得及び通ったコードパスが視覚的にわかる
あと、開発環境と違うけれど…
- loggerの使い方例
- ソースコードの構成例
を一緒にまとめて置いておきました。
この例では極小の意味のないアプリケーションですが、MongoDBを使うサンプルになっています。
ここに書いてある
requirements.txt
による方法は既に古いらしいので別の方法にしたほうがいいそうです。
補足事項
Pythonの環境切替
この記事のようにAnaconda2 ,3の両方を入れている場合、VSCodeのこの部分から変更ができる
Python 3.7,4 64-bit
ってところが実はクリックできて、ここで切り替え可能です。
カバレッジのコードハイライト
Coverage Gutters - Visual Studio Marketplace
ここのアニメーションの通りなのですが、先ほどと同様に下部のWatch
/Remove watch
から表示切替ができます。
単体テスト実行について
基本的に該当のフォルダに移動して(PYTHONPATH/モジュール検索パスが通っているところ)で
unittest
で
python -m unitest discover
とやっていたところを
coverage run -m unitest discover
とやればOKです。
ただしunittest
前提です。pytest
を使っている場合は別の方法になります。
pushd app1\test coverage run -m unittest discover && coverage xml popd
discoverってなんだ?と思ったらTestLoader.discover()
を呼び出しているそうです。