代码覆盖率
使用 RubyMine,您可以通过 SimpleCov 分析工具测量代码的测试覆盖率。 您可以为任何支持的 测试框架 运行带覆盖的测试,分析单独工具窗口和编辑器中覆盖的文件和代码行的百分比,生成 HTML 报告等。
配置覆盖运行选项
RubyMine 允许您使用特定的运行选项运行带覆盖的测试。 例如,您可以从覆盖测量中排除特定文件夹。 要提供特定的覆盖选项,您需要为测试创建运行配置。 运行配置可以通过以下两种方式创建:
为测试创建运行配置后,您可以通过以下方式配置覆盖选项:
按 Ctrl+Shift+A 并开始输入 编辑配置。 选择 编辑配置 并按 Enter。

在打开的 运行/调试配置 对话框中,选择所需的配置(例如, Rake、 Test::Unit/Shoulda/Minitest 或 RSpec ),转到 代码覆盖率 选项卡并指定所需的设置。

运行配置的覆盖设置
选项 | 描述 |
|---|---|
定义代码覆盖分析的范围。 在打开的 添加模式 对话框中,输入以逗号分隔的 Ruby 正则表达式列表。 选择一种模式类型,定义匹配的文件是应包含在代码覆盖分析中还是排除在外。 示例: | |
单击此按钮以从列表中删除选定的模式。 | |
单击此按钮以更改选定的代码覆盖模式。 | |
在测试文件夹中启用覆盖率(T) | 启用此选项以在代码覆盖分析中包含测试文件夹(例如, test 或 规范 )。 |
启用分支覆盖率(SimpleCov >= 0.18) | 使用此选项启用分支覆盖。 启用此选项后,您可以在编辑器中 查看结果 时看到部分覆盖的条件。 |
启用分叉进程的覆盖率(SimpleCov >= 0.19) | 启用此选项以测量分叉进程的覆盖率。 |
配置覆盖测量
配置代码覆盖行为
按 Ctrl+Alt+S 打开设置,然后选择 。
定义如何处理收集的覆盖数据:
在将覆盖率应用到编辑器前显示选项(S) :每次运行新的带代码覆盖的运行配置时显示 代码覆盖率 对话框。
不应用已收集的覆盖(N) :丢弃新的代码覆盖结果。
将有效套件替换为新套件(R) :丢弃活动套件,并在每次启动新的带代码覆盖的运行配置时使用新的套件。
添加到有效套件(D) :每次启动新的带代码覆盖的运行配置时,将新的代码覆盖套件添加到活动套件中。
选中 激活覆盖率视图(V) 复选框以自动打开 覆盖 工具窗口。
更改覆盖率高亮的颜色
按 Ctrl+Alt+S 打开设置,然后选择 。
或者,在点击边距中的覆盖指示线时打开的弹出窗口中单击
。
在组件列表中,展开 行覆盖率 节点并选择一种覆盖类型:例如, 完全、 部分覆盖 或 未涵盖。
点击 前景色 字段以打开 选择颜色 对话框。
选择颜色,应用更改,然后关闭对话框。

运行测试并生成覆盖率报告
RubyMine 允许您通过以下方式运行带覆盖的测试:
从项目视图运行带覆盖的测试
要从 Project 视图运行一个或多个带覆盖的测试,请执行以下操作:
右键单击特定的测试文件或包含所需测试的目录(例如, test 、 规范 或 功能 )。
从上下文菜单中选择相应的运行命令,例如, 。
从编辑器运行带覆盖的测试
要从编辑器运行测试,请执行以下步骤:
单击所需测试或测试类左侧边距中的 运行 按钮。

从上下文菜单中选择所需的运行命令,例如, 。
查看覆盖结果
在 运行测试 带覆盖后,RubyMine 以以下方式显示结果:
管理覆盖结果
在您 运行带覆盖的测试 后,RubyMine 会将结果保存到覆盖套件中。 覆盖套件允许您显示或隐藏特定的覆盖结果,合并多个报告,并删除不必要的结果。
查看特定套件的覆盖结果
在主菜单中,前往 Ctrl+Alt+F6。
在 选择要显示的覆盖率套件 对话框中,选择或取消选择所需的套件,然后单击 显示已选择的。

RubyMine 打开 选定测试套件的覆盖结果。
从文件添加覆盖套件
假设从另一台计算机获取了包含代码覆盖信息的文件。 您可以从磁盘加载此文件并查看覆盖结果。
在主菜单中,前往 Ctrl+Alt+F6。
单击
并在打开的对话框中选择所需的 .json 文件。
生成 HTML 报告
RubyMine 允许您为 收集的覆盖结果 生成 HTML 报告。
在主菜单中,转到 ,或单击
在 覆盖 工具窗口中。
在 生成覆盖报告 对话框中,指定生成的报告将存储的目录。 可选地,选择 在浏览器中打开生成的 HTML。 点击 保存。




