■ はじめに
Python の 単体試験のカバレッジツールを調べてみた
目次
【1】coverage 1)インストール 2)使い方 3)VS Codeプラグイン 【2】pytest-cov 1)インストール 2)使い方 3)VS Codeプラグイン
【1】coverage
* unittest の カバレッジツール
1)インストール
pip install coverage # 確認 pip freeze | grep coverage
2)使い方
テスト実行
coverage run -p -m unittest coverage run -m unittest 【テストファイル】.py
標準出力レポート
coverage report # オプション「-m(--show-missing)」 # カバーされていないかを行番号表示 coverage report -m
HTML出力
coverage html
クリア
# テスト結果を保存したファイルを削除
coverage erase
3)VS Codeプラグイン
* Code Coverage Highlighter
【2】pytest-cov
* pytest の カバレッジツール
1)インストール
pip install pytest-cov # 確認 pip freeze | grep pytest-cov
2)使い方
テスト実行
pytest --cov -v tests # pytest --cov -v 【テストファイル】.py
標準出力レポート
pytest -v --cov=【ディレクトリ】
HTML出力
pytest -v --cov=【ディレクトリ】 --cov-report=html
3)VS Codeプラグイン
* coverage-gutters
https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters
参考文献
coverage
https://crimsonality.net/python/unittest-coverage-howto/
https://qiita.com/atsuki_seo/items/2485e7c5fd47ba7eccc0
https://zerofromlight.com/blogs/detail/137/
https://blanktar.jp/blog/2015/03/python-unittest-coverage
pytest-cov
https://qiita.com/mink0212/items/34b9def61d58ab781714
https://blog.serverworks.co.jp/pytest-cov
https://qiita.com/kg1/items/e2fc65e4189faf50bfe6
coverage-gutters
https://qiita.com/takuminoid/items/f7f7fa063f4a1e4df0d8
https://qiita.com/moshi/items/21a6ff0a20cd840f71ea
https://blog.serverworks.co.jp/pytest-cov
関連記事
単体試験 / unittest ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/10/02/223658
単体試験 / unittest ~ mock編 ~
https://dk521123.hatenablog.com/entry/2021/04/05/165656
単体試験 / unittest ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2022/07/30/154233
単体試験 / mox ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/19/000000
単体試験 / nose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/20/221014
単体試験 / pytest ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/12/13/224810
単体試験 / unittest ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/03/31/000000