スポンサーリンク

[python] unittestの結果をcoverageを使ってカバレッジで見る。

カバレッジとは

どのような範囲で、どの程度詳しくテストが行われたかを示す指標。(コトバンク引用)

 

coverageのインストール

pythonでカバレッジを使うにはcoverageが必要になります。

 

pythonプログラムの準備

下記のサンプルを使って試してみます。

テスト対象のファイル

テストするpythonファイル

 

 

coverageの使い方

下記の通りに、pythonコマンドでなくcoverageコマンドでpythonのテストを実行させます。

coverage run test_calc.py(テストファイル)

実行後に、ワークスペースに.coverageというファイルが作成されています。

 

簡単にカバレッジ結果を取得する場合は下記のコマンドで取得できます。

coverage report

結果

左から、ファイル名、ステートメント、失敗数、網羅率のようです。

 

上記の結果だとわかりにくいかもしれません。

 

そのため別の方法を紹介します。

下記のコマンドを実行してみてください。

coverage html

上記を実行するとhtmlcovというディレクトリがワークスペース直下に作成されます。

そこにあるindex.htmlをブラウザで開いてください。

そうすると、下記のように表示されます。

unittest\calc.pyのリンクをクリックすると下記のように表示されます。

どこの行が、実行したのか、実行されていないのかが一目でわかるように表示されます。

これを使えば、テストされていない箇所がどこなのか一発でわかります。

 

まとめ

カバレッジの良いところは、テストの網羅率がわかるところです。

また、どこの箇所が網羅されていないのかがわかれば、そこをテストすべきということがわかります。

Python
スポンサーリンク
シェアする
trelab