【Python】Python のカバレッジツール

■ はじめに

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