12 个版本
使用旧的 Rust 2015
0.5.2 | 2018年10月13日 |
---|---|
0.5.1 | 2018年7月14日 |
0.5.0 | 2018年5月9日 |
0.4.2 | 2017年9月23日 |
0.2.0 | 2016年6月4日 |
#395 in Cargo 插件
每月 49 次下载
51KB
917 代码行
cargo-kcov
使用 kcov
在 Linux 和 macOS 上收集当前项目的所有测试用例的测试覆盖率。
用法
在项目目录下运行
$ cargo kcov
它将运行所有测试用例,并通过 kcov 收集覆盖率统计。覆盖率报告可以从 target/cov/index.html
读取。
先决条件
您需要安装 kcov
v26 或更高版本以从 Rust 收集覆盖率报告。一些发行版仍在使用 v25 或 v11,因此您需要从源代码构建。
对于 macOS,您需要 kcov
v35 或更高版本。请注意,与 Linux 相比,macOS 的性能显著较慢。如果您在 CI 上收集覆盖率统计,并且没有时间处理,请考虑忽略 macOS。
请遵循 https://users.rust-lang.org/t/650 中的说明。cargo-kcov
需要 v30 或更高版本,因为早期的 kcov 版本没有报告其版本号。
cargo-kcov
需要 Rust 1.20.0 或更高版本(由于 bitflags
依赖项)。
安装
可以使用 cargo install
安装 cargo-kcov
。
$ cargo install cargo-kcov
选项
cargo-kcov 0.5.1
Generate coverage report via kcov
USAGE:
cargo kcov [OPTIONS] [--] [KCOV-ARGS]...
OPTIONS:
--lib Test only this package's library
--bin <NAME>... Test only the specified binary
--example <NAME>... Test only the specified example
--test <NAME>... Test only the specified integration test target
--bench <NAME>... Test only the specified benchmark target
-j, --jobs <N> The number of jobs to run in parallel
--release Build artifacts in release mode, with optimizations
--features <FEATURES> Space-separated list of features to also build
--no-default-features Do not build the `default` feature
--target <TRIPLE> Build for the target triple
--manifest-path <PATH> Path to the manifest to build tests for
--no-fail-fast Run all tests regardless of failure
--kcov <PATH> Path to the kcov executable
-o, --output <PATH> Output directory, default to [target/cov]
-v, --verbose Use verbose output
--all In a workspace, test all members
--open Open the coverage report on finish
--coveralls Upload merged coverage data to coveralls.io from Travis CI
--no-clean-rebuild Do not perform a clean rebuild before collecting coverage. This improves performance
when the test case was already built for coverage, but may cause wrong coverage
statistics if used incorrectly. If you use this option, make sure the `target/`
folder is used exclusively by one rustc/cargo version only, and the test cases are
built with `RUSTFLAGS="-C link-dead-code" cargo test`.
--print-install-kcov-sh Prints the sh code that installs kcov to `~/.cargo/bin`. Note that this will *not*
install dependencies required by kcov.
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<KCOV-ARGS>... Further arguments passed to kcov. If empty, the default arguments `--verify --exclude-
pattern=$CARGO_HOME` will be passed to kcov.
依赖项
~3.5–5.5MB
~86K SLoC