Rustのcargo llvm covによる結果をhtmlで出力する
はじめに
以前、「Rustでテストカバレッジを測ってみる」という記事で、cargo_llvm_cov
を使いカバレッジを測ってみました。
今回は、その結果をhtmlのレポートとして出力することをやってみたいと思います。
環境
OS: Windows 10 Rust: 1.64.0
プロジェクトの用意
カバレッジを測るため、簡単な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 --html
すると、カバレッジレポートがhtmlでtarget/llvm/html
に出力されます。
コマンド実行後のフォルダ構成、レポートの場所は以下のようになります。
Rustプロジェクト ├ src │ └ ...(省略) ├ target │ ├ llvm-cov │ │ └ html │ │ ├ coverage │ │ │ └ ...(省略) │ │ ├ index.html <- これ │ │ └ style.css │ └ llvm-cov-target │ └ ...(省略) ├ Cargo.lock └ Cargo.toml
index.htmlを開いてみると、以下のような感じになっています。