代码覆盖率
在 RustRover 中,代码覆盖率让您分析特定运行期间执行了哪些代码行。 它有助于确定由测试覆盖的代码份额,并识别缺乏足够测试覆盖的领域。
运行覆盖率分析
运行覆盖率分析的入口点与您通常用来 运行应用程序的相同:
对于 main 方法定义,点击
运行 在编辑器装订线中,然后选择 运行覆盖率

对于 运行配置 ,请点击
更多操作 在运行微件中,然后选择 运行覆盖率

覆盖分析会在附加 coverage agent 的情况下执行相应的运行配置。 此代理会修改字节码以逐行跟踪执行情况。 执行完成后,分析结果会出现在 IDE 中。
覆盖套件
覆盖套件是一组来自某次特定运行的代码覆盖率数据。 每个覆盖套件保存来自单个运行配置的数据(如果是 使用覆盖运行 ),或者是来自 导入的覆盖数据文件的数据。
RustRover 将覆盖套件存储在 覆盖率 文件夹下的 IDE 系统目录中:
%LOCALAPPDATA%\JetBrains\RustRover%instance-version%\coverage
~/Library/Caches/JetBrains/RustRover%instance-version%/coverage
~/.cache/JetBrains/RustRover%instance-version%/coverage
RustRover 可同时显示一个或多个覆盖套件的结果,并且可以选择要显示哪些套件。 如果选择了多个套件,IDE 会显示它们合并后的结果:也就是说,只要某一行在至少一个套件中被执行,就被视为已覆盖。
选择要显示的覆盖套件
至少进行过一次 使用覆盖运行后,覆盖套件列表才会可用。
在主菜单中,前往 (Ctrl+Alt+F6)。
在打开的 选择要显示的覆盖率套件 对话框中,选择要显示结果的套件。
如果需要隐藏所有代码覆盖率结果,请点击 无覆盖。 这将取消选中所有覆盖套件并关闭对话框。
点击 显示所选项。
RustRover 会加载所选套件的代码覆盖率结果。
添加和移除覆盖套件
如果需要查看在 RustRover 之外生成的文件(例如由构建服务器或其他开发者生成)的代码覆盖率结果,可以将该文件添加为单独的覆盖套件。
也可以从 IDE 中移除套件,或彻底从磁盘删除它们。
在主菜单中,前往 (Ctrl+Alt+F6)。
在打开的 选择要显示的覆盖率套件 对话框中,从工具栏选择操作:
要导入外部覆盖文件,请点击
添加 并浏览选择文件。
由 RustRover 生成的带有覆盖数据的文件默认保存在 IDE 覆盖率 文件夹下的 系统目录中。
要从 IDE 中移除覆盖套件但保留于磁盘,请选择该套件并点击
移除。
要同时从 IDE 和磁盘删除覆盖套件,请选择该套件并点击
Delete。
读取覆盖率数据
代码覆盖率结果显示在 覆盖率 工具窗口、 Project 工具窗口中,以及在您 至少使用覆盖率运行一次运行配置后显示在编辑器中。

此外,这些结果会保存到 IDE 覆盖率 文件夹中的 系统目录。
隐藏覆盖率数据
请执行以下操作之一:
在 覆盖率 工具窗口 () 中关闭覆盖统计选项卡。
点击页边的覆盖率高亮,然后选择 隐藏覆盖率。

生成覆盖率报告
生成报告
请前往 ,或点击
,在 覆盖率 工具窗口中。
在 生成覆盖报告 对话框中,指定用于存储生成报告的目录,并可选择 在浏览器中打开生成的 HTML 复选框。
如果在同一个窗口中打开多个项目,请确保建议的输出目录正确。
点击 Save。
配置代码覆盖率
项目设置
您可以为每个项目配置以下选项:
在将覆盖率应用到编辑器前显示选项。 | 每次运行覆盖率分析时,询问是否让最近收集的 覆盖套件处于活动状态。 在这种情况下,将会出现一个对话框,您可以选择仅显示新结果、将其添加到现有结果中,或将其保存到存储中但不进行查看。 |
不应用已收集的覆盖率 | 在运行覆盖率分析后,只有在最近收集的 覆盖套件保存到存储中。 在这种情况下,新的覆盖率数据将不会显示,除非您明确选择相应的套件 。 |
用新套件替换活动套件 | 隐藏当前显示的 覆盖率套件 ,并在运行覆盖率分析后使用新收集的覆盖率套件。 在这种情况下,只有最近一次覆盖率运行的结果会显示。 |
添加到活动套件 | 在运行覆盖率分析之后,将新收集的 覆盖套件添加到活动套件列表中。 这将保留现有的覆盖率结果,并在其基础上添加新的结果。 |
激活覆盖率视图 | 每次运行覆盖分析时,请打开 覆盖工具窗口。 |
更改覆盖率高亮的颜色
按下 Ctrl+Alt+S 打开设置,然后选择 。
或者,单击
,位于点击边距中的覆盖率指示线时弹出的弹窗中。
在组件列表中,展开 行覆盖率 节点并选择一种覆盖类型:例如, 完全、 部分 或 未涵盖。
点击 前景 字段以打开 选择颜色 对话框。
选择颜色,应用更改,然后关闭对话框。
