#lcov #覆盖率 #可视化 #报告 #可视化 #路径 #工具

bin+lib lcoviz

用于可视化 LCOV 覆盖数据的小工具

2 个版本

0.1.1 2024 年 4 月 26 日
0.1.0 2024 年 4 月 26 日

#3#lcov

MIT 许可证

180KB
4.5K SLoC

Lcoviz

Lcoviz 是一个简单的 Rust 工具,用于以不同格式可视化由 lcov 生成的覆盖报告。

安装

从 GitHub 发布版

发布版 下载最新版本。给可执行文件起一个简洁的短名,例如 lcoviz。您可以将它复制到路径中已知的任何位置,例如 /usr/local/bin~/.local/bin

使用 cargo

您还可以从源代码构建此工具。您需要安装 cargo。您可以选择手动克隆仓库并用 cargo 安装,或者让 cargo 为您完成

# Let cargo clone repo for you
cargo install --git 'https://github.com/Leonils/lcoviz.git'

# Manually clone the repo
git clone https://github.com/Leonils/lcoviz.git
cd lcoviz
cargo install --path .

在两种情况下,它都会作为 cargo bin 安装,有关更多信息,请参阅 cargo help install

使用方法

报告

该工具的主要命令是 report。它允许您创建一个或多个 lcov 文件的可视化。该命令有以下选项

  • --name-n:报告的名称。这将被用作报告的标题。
  • --reporter-r:报告的格式。可用的格式有 html-full-light(也称为 htmlhtml-full)和 text-summary
  • --output-o:生成报告的输出目录。请注意,如果此目录中存在文件,它们可能会被覆盖。
  • --input-i:输入 lcov 文件。您可以在单个运行中指定多个输入文件。输入有一个名称(用作与该输入相关的可视化部分的标题),一个前缀(用于从其中构建文件路径的视觉化),以及 lcov 输入文件的路径。只需要路径:您可以为每个输入提供最多 3 个值
    • <PATH TO LCOV>:前缀将是所有测试文件的公共部分,名称将是前缀的最后一个文件夹
    • <NAME> <PATH TO LCOV>:您可以强制指定名称
    • <NAME> <PREFIX> <PATH TO LCOV>:如果您想更详细地显示可视化(例如,所有测试文件都在~/my_project/src/lib,您可能希望强制前缀为~/my_project,以便在可视化中看到srclib文件夹)

例如,您可能需要运行如下命令

lcoviz report
    --name 'Coverage report for my 3 projects'
    --reporter html
    --input ./project_1.lcov
    --input MyProject ./project_2.lcov
    --input AnotherProject /with/some/custom/prefix/ project_3.lcov
    --output ./coverage_report

保存到文件,从文件生成报告

由于有许多选项需要传递给命令行界面,您可能希望将它们保存到配置文件中。您可以使用to-filefrom-file命令来做到这一点。

to-file命令直接跟在命令后面取一个路径,然后与report命令相同的选项,但是它不会生成报告,而是将选项保存到文件中

lcoviz to-file ./config.toml
    --name 'Coverage report for my 3 projects'
    --reporter html
    --input ./project_1.lcov
    --output ./coverage_report

from-file命令取一个配置文件的路径,然后使用文件中保存的选项生成报告

lcoviz from-file ./config.toml

屏幕截图

HTML报告

HTML report

文本报告

Text report

许可协议

本项目采用MIT许可协议 - 详细内容请参阅LICENSE文件

依赖关系

~0.7–1.3MB
~29K SLoC