ys memos
Blog

Rustでcoverage計測する ~0. 概要~


rust

2025/06/07



ソフトウェアの単体テストを書くとき、テストがどの程度コードをカバーしているかの測定は、ひとつの指標として重要である。カバレッジを測定することで、テストの網羅性を確認し、未テストのコードを特定することができる。

Rustでは、llvm-covを使用してカバレッジを計測することができる。このドキュメントでは、Rustプロジェクトでのカバレッジ計測の環境構築から測定方法を解説する。


さまざまカバレッジツールがあると思うが、ここでは llvm-covを使用してカバレッジを計測するものとする。


適当な名前でRustプロジェクトを作成する。ここでは、coverageとした。

$ cargo new --vcs none coverage


コードのカバレッジは、基本的には高いほうが良いと考えられるが、それのみを追い求めるのが正しいわけではない。カバレッジが高いからといって、必ずしもコードの品質が高いとは限らない。逆に、カバレッジが低くても、重要な部分がしっかりとテストされている場合もある。

そのため、カバレッジはあくまで指標の一つとして捉え、他の品質指標と組み合わせて総合的に判断することが重要である。

例えば、カバーされていない分岐は、Test漏れの可能性があるし、通らなくて良いならそれは実装を変えるという判断をしてもいいかもしれない。


関連タグを探す