📔

VSCodeでカバレッジを表示する(pytest-cov)

2021/05/18に公開2

やりたいこと

vscode上で↓のようなカバレッジを表示したい

やりかた

  1. VSCodeでCoverage Guttersをインストールする
  2. Coverage Guttersの設定から参照するカバレッジについてのxmlファイルを指定する
    ここではpytest-covのデフォルトで生成されるcoverage.xmlとしておく
  3. Python環境にpytest-covをインストールする
pip install pytest-cov
  1. 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"
  1. エディタ上に表示されているはず。初回などは適宜VSCodeをReload Windowする。

Discussion

nsuznsuz

カバレッジを知りたいときに↓のコマンドを叩く(いい方法あれば教えてください!!!)

パッケージルートにpytest.iniという名前のファイルを作成して、そのファイルに

[pytest]
addopts = --cov=your_pkg_name --cov-report term --cov-report xml --cov-report html

等と書いておけば、vscodeのGUIからテストを実行してもcoverage.xmlを作ってくれます😄
(上記はXMLだけでなくコマンドラインとHTMLでもカバレッジレポートを出力する内容になっています。)