用途:cargo-llvm-cov 为 Rust 项目提供基于 LLVM 插桩的代码覆盖率测量,适合统计行/区域/函数覆盖率、生成报告、在 CI 中强制覆盖率阈值,以及对接 codecov.io 或 coveralls 上传。
主要能力:支持 HTML、LCOV、JSON、Cobertura XML 和文本摘要等多种输出格式,可同时生成多种格式;支持 --fail-under-lines、--fail-under-regions、--fail-under-functions 阈值检查;支持工作区、指定包、特性开关、忽略文件名正则、doctest 覆盖率;分支覆盖率需 Rust nightly。
安装与基本用法:先安装组件 rustup component add llvm-tools-preview,再执行 cargo install cargo-llvm-cov,用 cargo llvm-cov --version 验证。常用命令包括 cargo llvm-cov、cargo llvm-cov --html、cargo llvm-cov --lcov --output-path target/llvm-cov/lcov.info、cargo llvm-cov --json --output-path target/llvm-cov/coverage.json、cargo llvm-cov --text。阈值示例:cargo llvm-cov --fail-under-lines 80。分支覆盖率:cargo +nightly llvm-cov --branch --html。可与 cargo-nextest 结合:cargo llvm-cov nextest --html。清理数据:cargo llvm-cov clean。
适用场景:本地开发查看逐行覆盖、CI 中生成报告并上传 Codecov/Coveralls、工作区多包覆盖率统计、排除生成代码或测试文件。
限制:分支覆盖率依赖 nightly 工具链;doctest 在独立上下文运行,可能无法完美整合;资料未提供具体收费、价格或平台支持范围等细节。