分支审查
你将学到
- 如何在Cypress Cloud中比较分支间的测试结果
- 分支审查如何展示Pull Request对测试套件的影响
- 如果不使用Pull Request工作流,如何比较任意两次运行
- 测试运行分组的最佳实践
Cypress分支审查功能让你能在一个视图中快速识别Pull Request可能对测试套件产生的不同影响。比较源分支与基础分支之间哪些测试失败、不稳定、待处理、新增或修改。如果你的账户启用了相关功能,运行间的UI覆盖率或Cypress无障碍测试变更也会在此显示。
即使你没有使用Pull Request工作流,分支审查仍然很有用,因为它允许你比较任意选择的两次运行。这些可能代表应用程序的不同构建版本、测试代码的变更或夜间运行的结果。本页将使用GitHub集成创建的Pull Request为例,但使用分支审查并不需要此集成。
在软件开发生命周期(SDLC)中,一个常见场景是工程师的功能分支将被合并到代码库的develop或main分支。以下是该场景在分支审查中的展示:

没有分支审查时,要确定测试套件结果的变化需要手动并排比较新引入分支的测试运行与基础分支的测试运行。这种次优的工作流程往往无法回答基本问题:发生了什么变化_和_为什么? 你可能会困惑于相同测试在不同分支间是否不稳定、新失败是何时引入的,或者你是否为新分支添加了足够的测试覆盖率。
开始使用
分支审查区域的核心是基础运行与变更运行之间的比较。变更运行是比较的主要对象,通常与传入的Pull Request相关联。基础运行是比较的起点。
访问分支审查
根据查看Cypress结果的位置,有多种方式可以进入分支审查。在所有情况下,一旦选择了变更运行,你可以将自动选择的基础运行调整为项目中的任何分支或运行,以聚焦你最关心的比较。
从项目列表
项目卡片显示项目的三个活跃分支。你可以点击其中任何一个进入以该分支为中心的分支审查。

从主导航
当项目打开时,在主导航中选择"Branches"以查看完整的、可筛选的可用分支列表,并选择其中一个作为变更运行的来源。

从运行概览页面
点击与运行关联的分支名称。这将带你进入分支审查,并预选该运行作为变更运行。这是调查测试结果异常的特定运行的好方法。

从Pull Request
点击测试结果表格底部的"View all changes introduced in this branch"链接。你将进入分支审查,当前PR的分支和最新运行已预选为变更运行。

与Pull Request集成
分支审查中的Pull Request通过利用Cypress Cloud的GitHub集成查询GitHub API获取带有Pull Request的分支来工作。你的项目首先需要连接到GitHub仓库。如果尚未连接,请按照安装Cypress GitHub应用中的步骤将项目连接到GitHub。
当Pull Request连接后,你将能够通过关联的PR选择运行:

注意: 如果没有看到与分支关联的PR #标签,你可能需要传递PR编号作为环境变量给运行。这有助于确保Cypress Cloud能正确映射PR数据。
最新运行
如果所选分支有关联的PR且通过CI传递了PR #,Latest runs页面概览标签顶部会有一个额外的标注,指向分支审查。

分支详情
审查头部
头部包括Git提交消息、PR选择器、PR状态以及带有Cypress Cloud测试运行ID编号(#)的基础和功能分支标签。
如果同一分支有多个Pull Request打开,你可以从提交消息右侧的下拉菜单中选择要审查的Pull Request。
点击分支标签将直接链接到相应的运行概览,悬停在这些元素上会显示额外的运行元数据。

审查测试状态
注意: 为每个提交准确记录一次运行是确保完整和准确比较的最佳方式。有关将多个cypress run
调用分组到一个运行下的最佳实践,请参阅我们的最佳实践。
在审查屏幕上,你将看到失败、不稳定、待处理、新增和修改标签。每个标签将显示属于该类别的规格。你可以点击测试查看测试详情。

审查测试状态
- 比较的分支和运行的详细信息。如果检测到Pull Request,Pull Request详情将显示在此。
- 指向测试信息关键差异的链接,如新失败和不稳定测试。注意所有数字和评分均指变更运行。
- UI覆盖率变更。
- Cypress无障碍测试变更。
- 查看你打开的特定状态中的变化,例如:
在你的分支中引入的总数
在你的分支中减少或解决的总数
总数,例如_3个新和1个现有_
- 测试状态(失败、不稳定、待处理)也在规格级别指示
- new = 状态之前未捕获,但现在已捕获
(新待处理的测试可能意味着未移除it.skip()
) - existing = 状态之前已捕获且现在仍捕获
- resolved = 状态之前已捕获但现在不再捕获
- new = 状态之前未捕获,但现在已捕获
审查测试比较
进入测试详情视图会显示两个分支上测试结果的并排比较,以及工件,因此你可以比较PR前后的情况。这有助于聚焦于任一分支上引入或解决的变更,并提升不同尝试中测试内不稳定的来源。查看测试定义面板的差异快照,以帮助快速确定测试代码的变化。

审查测试比较
-
基础分支结果
-
功能分支结果
-
测试回放和工件
-
测试尝试(降序)
-
代码变更差异
故障排除
关于Pull Request可用数据的说明
分支审查是一个强大的工具,用于比较两个有记录运行到Cypress Cloud的分支。有些因素会影响功能分支和基础分支之间可审查的内容。例如,特定提交的分支是否有运行记录到Cypress Cloud将影响显示的内容。
以下场景涵盖了两种分支的情况:
基础分支 | 功能分支 | 分支审查显示内容 |
---|---|---|
有运行 | 有运行 | 使用两个找到的运行进行比较数据 |
有运行 | 无运行 | 使用功能分支上最后一次运行进行比较数据 |
无运行 | 有运行 | 非比较数据,带有找到的功能运行 |
无运行 | 无运行 | 非比较数据,使用功能分支上最后一次运行 |
如果比较所需的运行不可用,你可以使用手动选择下拉菜单比较两个合适的运行,前提是它们在Cypress Cloud中存在。