功能特性
测试覆盖率可视化器 提供了全面的 LCOV 覆盖率分析和可视化功能。以下是各功能模块的详细介绍:
拖拽上传 LCOV 文件
支持通过拖拽操作将本地的 LCOV 文件上传到工具中进行解析。用户只需将 .info 或 .lcov 格式的文件从文件管理器拖拽到工具的上传区域,文件会自动被读取和解析。工具支持单文件和多文件上传,如果项目包含多个 LCOV 文件,工具会自动合并所有文件中的覆盖率数据进行统一分析。上传过程中会显示进度指示,让用户清楚了解文件的处理状态。对于较大的 LCOV 文件,工具采用了流式解析技术,确保即使文件体积较大也能快速完成解析。
加载示例数据
内置了一套完整的示例 LCOV 数据,用户无需准备自己的 LCOV 文件即可快速体验工具的各项功能。点击「加载示例」按钮后,工具会自动填充示例数据并执行解析,展示一个包含多个源文件的项目的覆盖率分析结果。示例数据涵盖了不同的覆盖率水平(高覆盖、中等覆盖、低覆盖),帮助用户直观感受工具对各种覆盖率情况的可视化效果。示例数据中的源代码片段模拟了一个真实的 JavaScript 项目结构,包含模块、工具类、服务层等典型代码组织方式。
源代码对照面板
提供了一个左右分栏的源代码对照面板,左侧显示覆盖率统计概览,右侧显示源代码内容。源代码的每一行都会根据其覆盖状态用不同的颜色进行高亮标记:绿色表示该行已被测试覆盖(hit),红色表示该行未被测试覆盖(miss),灰色表示该行为不可执行行(如注释、空行、声明语句等)。用户可以通过文件列表选择不同的源文件进行查看,对照面板会实时更新。这种可视化的对照方式帮助开发者快速定位哪些代码行缺少测试覆盖,从而有针对性地编写测试用例。
6 项统计指标
工具会从 LCOV 数据中计算并展示 6 项关键的覆盖率统计指标:(1) 源文件数——项目中被分析的源文件总数;(2) 可执行行数——所有源文件中可执行代码行的总数(排除注释和空行);(3) 已覆盖行数——被测试至少执行过一次的代码行数;(4) 未覆盖行数——从未被测试执行过的代码行数;(5) 行覆盖率——已覆盖行数占可执行行数的百分比,以数字和进度条两种形式展示;(6) 函数覆盖率——被测试覆盖的函数占总函数数的百分比。这些指标为开发者提供了项目测试覆盖情况的全局视图。
文件列表与筛选
在分析结果区域展示所有被分析的源文件列表,每个文件条目显示文件名、该文件的行覆盖率百分比和覆盖状态摘要(已覆盖行数/未覆盖行数)。文件列表支持按覆盖率高低排序,方便用户快速找到覆盖率最低的文件进行重点分析。每个文件条目还包含一个小型的覆盖率进度条,以视觉化的方式展示该文件的覆盖程度。用户点击文件条目即可在源代码对照面板中查看该文件的详细覆盖率信息。
粘贴源代码
除了上传 LCOV 文件外,用户还可以直接将源代码内容粘贴到工具中进行覆盖率标记。该功能适合在没有 LCOV 文件的情况下,手动为代码行添加覆盖状态标记。用户只需在代码编辑区域粘贴源代码,然后通过工具提供的标记功能为每行代码设置覆盖状态(已覆盖或未覆盖),工具会自动生成对应的覆盖率可视化展示。这种灵活的方式让工具能够适应更多样的使用场景。
UD5工具箱