2025/06/07
目次
- 0 概要
- 1 基礎
- 2 可視化
- 3 カバレッジ計測の範囲無効
はじめに
ソフトウェアの単体テストを書くとき、テストがどの程度コードをカバーしているかの測定は、ひとつの指標として重要である。カバレッジを測定することで、テストの網羅性を確認し、未テストのコードを特定することができる。
Rustでは、llvm-cov
を使用してカバレッジを計測することができる。このドキュメントでは、Rustプロジェクトでのカバレッジ計測の環境構築から測定方法を解説する。
前提
さまざまカバレッジツールがあると思うが、ここでは llvm-cov
を使用してカバレッジを計測するものとする。
プロジェクトの作成
適当な名前でRustプロジェクトを作成する。ここでは、coverage
とした。
$ cargo new --vcs none coverage
目次
- 0 概要
- 1 基礎
- 2 可視化
- 3 カバレッジ計測の範囲無効
おわりに
コードのカバレッジは、基本的には高いほうが良いと考えられるが、それのみを追い求めるのが正しいわけではない。カバレッジが高いからといって、必ずしもコードの品質が高いとは限らない。逆に、カバレッジが低くても、重要な部分がしっかりとテストされている場合もある。
そのため、カバレッジはあくまで指標の一つとして捉え、他の品質指標と組み合わせて総合的に判断することが重要である。
例えば、カバーされていない分岐は、Test漏れの可能性があるし、通らなくて良いならそれは実装を変えるという判断をしてもいいかもしれない。