📔
VSCodeでカバレッジを表示する(pytest-cov)
やりたいこと
vscode上で↓のようなカバレッジを表示したい
やりかた
- VSCodeでCoverage Guttersをインストールする
- Coverage Guttersの設定から参照するカバレッジについてのxmlファイルを指定する
ここではpytest-covのデフォルトで生成されるcoverage.xmlとしておく
- Python環境にpytest-covをインストールする
pip install pytest-cov
- Coverageを計測する
vscode上でGUIからpytestを実行するときの引数として--covをつけると、VSCode上でdebugするときに問題になるので、カバレッジを知りたいときに↓のコマンドを叩く(いい方法あれば教えてください!!!)
pytest --cov=. tests/ --cov-report xml
main.py
def hoge():
print("hoge")
def fuga():
return "fuga"
tests/test_hoge.py
def test_fuga():
assert fuga() == "fuga"
- エディタ上に表示されているはず。初回などは適宜VSCodeをReload Windowする。
Discussion
パッケージルートにpytest.iniという名前のファイルを作成して、そのファイルに
等と書いておけば、vscodeのGUIからテストを実行してもcoverage.xmlを作ってくれます😄
(上記はXMLだけでなくコマンドラインとHTMLでもカバレッジレポートを出力する内容になっています。)
なるほど、ありがとうございます!!🤣