コード カバレッジを見つける従来の Linux および Unix の方法は、gcov を使用してカバレッジ マップを生成し、lcov を使用して出力をきれいにすることです。コード カバレッジは、コード行が実行されるかどうか、実行される場合は何回実行されるかを測定します。これは、テスト コードの有効性を測定するのに役立ちます。理論的には、「カバー」される行が多いほど、テストはより完全になります。ただし、コード カバレッジとテストの完全性との関連性は希薄です。
コード カバレッジ データ
コード カバレッジ データは通常、ライン カバレッジと関数カバレッジの 2 つに分かれており、どちらもパーセンテージで表すのが最も簡単です。これらの数値は、個々の単体テストで簡単に理解できます。個々の関数またはオブジェクト内のメソッドをテストする場合、ロードされたファイル内の関数と行の総数がパーセンテージ計算の分母として機能します。そのため、1 つのモジュールに対して複数のファイルにテストを分散させると、個々のテストの単体テスト カバレッジが低くなります。個々のテストのすべてのカバレッジ数を集計すると、そのファイルの完全なカバレッジ画像が得られます。
以下のようなエラーが発生した場合:
lcov: command not found
選択したディストリビューションに従って、以下のパッケージをインストールしてみてください。
分布 | コマンド |
---|---|
OS X | brew install lcov |
Debian | apt-get インストール lcov |
Ubuntu | apt-get インストール lcov |
カリ Linux | apt-get インストール lcov |
Fedora | dnf インストール lcov |
Raspbian | apt-get インストール lcov |
最終的な考え
コード カバレッジ情報を生成して表示することは、単体テストにとって非常に重要であり、集約された統合テストにとって重要です。コード カバレッジの数値がすべてを物語るわけではありませんが、コード カバレッジの情報は、テストの進行状況を追跡するために使用できる 1 つの数値を提供します。