Rustでテストカバレッジを測ってみる
はじめに
この記事では、「Rustでのテストカバレッジの計測」について書いています。
Rustでテストカバレッジを測ってみました。
Rustを色々勉強中ですが知らないこともまだたくさんあり、Rustの勉強も兼ねて記事を書きました。
自分に向けた備忘録の意味もありますが、「Rustでテストカバレッジを測りたい」な人の一助になれば嬉しいです。
テストカバレッジを見る方法はいくつかあるようですが、その中で最近よく使われているそうなcargo-llvm-cov
で行ってみました。
環境
- OS: Windows 10 Rust: 1.64.0
導入
Rustでテストカバレッジを測るため、下記のコマンド2つを実行してください
cargo install cargo-llvm-cov
rustup component add llvm-tools-preview
カバレッジを測ってみる
カバレッジを測るための簡単なRustコードを用意します。
fn fizzbuzz(num: u32) -> String { if num%15 == 0 { "fizzbuzz".to_string() } else if num%3 == 0 { "fizz".to_string() } else if num%5 == 0 { "buzz".to_string() } else { num.to_string() } } fn main() { let num = 10; println!("{}", fizzbuzz(num)); } #[cfg(test)] mod tests { use super::*; #[test] fn test_fizz() { assert_eq!("fizz".to_string(), fizzbuzz(3)); } #[test] fn test_buzz() { assert_eq!("buzz".to_string(), fizzbuzz(5)); } #[test] fn test_fizzbuzz() { assert_eq!("fizzbuzz".to_string(), fizzbuzz(15)); } }
これに対して、以下のコマンドを実行してカバレッジを見てみます。
cargo llvm-cov
すると以下のような出力が得られ、カバレッジの結果が出力されていることが分かります。
おわりに
「Rustでのテストカバレッジの計測」について解説しました。
Rustでcargo-llvm-cov
を使ってテストカバレッジを測ってみました。
htmlで出力したりも出来るみたいですので、今後試していきたいと思います。