Help us learn about your current experience with the documentation. Take the survey.
端到端测试的 RSpec 元数据
这是我们在端到端测试中使用的 RSpec 元数据 (也称为标签)的部分列表。
| 标签 | 描述 |
|---|---|
:elasticsearch |
测试需要 Elasticsearch 服务。它被实例级场景 Test::Integration::Elasticsearch 用来只包含需要 Elasticsearch 的测试。 |
:except |
测试将在其典型的执行上下文中运行,除非有特别说明。更多信息请参见 test execution context selection。 |
:external_api_calls |
测试需要与 Docker 网络之外的网络进行交互。 |
:external_ai_provider |
测试需要一个与真实外部 AI 提供商集成的环境。 |
:feature_flag |
测试使用功能标志,因此需要管理员账户来运行。当 scope 设置为 :global 时,测试将在所有 live .com 环境中被跳过。否则,它只会在 Canary、Production 和 Pre-production 环境中被跳过。更多详情请参见 testing with feature flags。 |
:geo |
测试需要启动两个 GitLab Geo 实例 - 一个主实例和一个从实例。 |
:gitaly_cluster |
测试在 GitLab 实例上运行,其中存储库存储在 Praefect 节点后的冗余 Gitaly 节点上。所有节点都是 separate containers。使用此标签的测试有更长的设置时间,因为需要启动三个额外的容器。 |
:github |
测试需要 GitHub 个人访问令牌。 |
:group_saml |
测试需要一个为组启用了 SAML SSO 的 GitLab 实例。与外部 SAML 身份提供商交互。与 :orchestrated 标签配对。 |
:instance_saml |
测试需要一个为实例启用了 SAML SSO 的 GitLab 实例。与外部 SAML 身份提供商交互。与 :orchestrated 标签配对。 |
:integrations |
这旨在测试可用的 integrations。测试需要在运行上下文中安装 Docker。它将配置容器,并且可以针对本地实例运行或使用 gitlab-qa 场景 Test::Integration::Integrations。 |
:issue, :issue_${num} |
可选链接到可能与规范相关的问题。有助于跟踪相关问题,也可以被创建测试报告的工具使用。当前自动添加到 Allure 测试报告中。可以通过添加可选的数字后缀(如 issue_1、issue_2 等)来使用多个标签。 |
:service_ping_disabled |
测试在实例级别与 GitLab 配置服务 ping 交互,以打开或关闭 管理员 区域设置的服务 ping 复选框。此标签将使测试仅在 service_ping_disabled 作业中运行,并且必须与 :orchestrated 和 :requires_admin 标签配对。 |
:jira |
测试需要 Jira Server。GitLab-QA 在运行 Test::Integration::Jira 测试场景时,会在 Docker 容器中配置 Jira Server。 |
:kubernetes |
测试包括一个配置为在 SSH 隧道后运行的 GitLab 实例,允许通过 TLS 访问 GitLab。此测试还包括至少一个 Kubernetes 集群的配置以进行测试。此标签通常与 :orchestrated 配对。 |
:ldap_no_server |
测试需要配置为使用 LDAP 的 GitLab 实例。与 :orchestrated 标签一起使用。它在编排时不会启动 LDAP 服务器。相反,它在运行时创建 LDAP 服务器。 |
:ldap_no_tls |
测试需要配置为使用未启用 TLS 的外部 LDAP 服务器的 GitLab 实例。 |
:ldap_tls |
测试需要配置为使用启用了 TLS 的外部 LDAP 服务器的 GitLab 实例。 |
:mattermost |
测试需要在 GitLab 实例上运行 GitLab Mattermost 服务。 |
:metrics |
测试需要一个 GitLab 实例,其中 dedicated metrics exporters 与 Puma 和 Sidekiq 一起运行。 |
:mixed_env |
测试应仅在具有通过基于 gitlab_canary=true cookie 存在的流量路由提供可用配对 canary 版本的环境中执行。此类别中的测试在测试期间切换 cookie 以验证混合部署环境。 |
:oauth |
测试使用外部 OmniAuth 提供商登录 GitLab。 |
:object_storage |
测试需要配置为使用多个 object storage types 的 GitLab 实例。使用 MinIO 作为对象存储服务器。 |
:only |
测试仅在特定的执行上下文中运行。更多信息请参见 test execution context selection。 |
:orchestrated |
被测试的 GitLab 实例可能由 gitlab-qa 配置为与默认 GitLab 配置不同,或者 gitlab-qa 可能会在单独的 Docker 容器中启动额外的服务,或者两者兼有。标记为 :orchestrated 的测试在测试无法动态修改 GitLab 配置的环境(例如 Staging)时会被排除。 |
:product_group |
指定测试所属的产品组。完整的产品组列表请参见 Product sections, stages, groups, and categories。 |
:quarantine |
测试已被 quarantined,在仅包含隔离测试的单独作业中运行,并且允许失败。测试在其常规作业中被跳过,这样如果它失败就不会阻塞流水线。请注意,您也可以 仅当测试在特定上下文中运行时才隔离测试。 |
:relative_url |
测试需要安装在一个 relative URL 下的 GitLab 实例。 |
:repository_storage |
测试需要配置为使用多个 repository storage paths 的 GitLab 实例。与 :orchestrated 标签配对。 |
:requires_admin |
测试需要管理员账户。带有此标签的测试在针对 Canary 和 Production 环境运行时会被排除。 |
:requires_git_protocol_v2 |
测试要求服务器上启用了 Git 协议版本 2。假设默认启用,但如果未启用,可以通过将 QA_CAN_TEST_GIT_PROTOCOL_V2 设置为 false 来跳过测试。 |
:requires_praefect |
测试要求 GitLab 实例使用 Gitaly Cluster (Praefect) 作为存储库存储。假设默认使用,但如果未使用,可以通过将 QA_CAN_TEST_PRAEFECT 设置为 false 来跳过测试。 |
:skip_live_env |
测试在针对已部署的实时环境(如 Staging、Canary 和 Production)运行时会被排除。 |
:skip_fips_env |
测试在 FIPS 模式下的环境中运行时会被排除。 |
:skip_signup_disabled |
测试使用 UI 注册新用户,并且在任何不允许通过 UI 注册新用户的环境中都会被跳过。 |
:smoke |
测试属于验证 GitLab 实例基本功能的测试套件。 |
:health_check |
测试属于最小的测试套件,是 smoke 的子集。用于监控应用程序的状态和健康。 |
:smtp |
测试需要配置为使用 SMTP 服务器的 GitLab 实例。通过使用 MailHog 测试 GitLab 的 SMTP 通知邮件传递。 |
:testcase |
链接到 GitLab Project test cases 中的测试用例问题。 |
:ai_gateway |
测试需要配置为使用本地 AI gateway 的 GitLab 实例,该网关具有有效的云许可证、Duo Pro 插件和分配给管理员用户的 Duo Pro 席位。与 :orchestrated 标签配对。 |
:ai_gateway_no_seat_assigned |
测试需要配置为使用本地 AI gateway 的 GitLab 实例,其中没有席位分配给管理员用户。与 :orchestrated 标签配对。 |
:ai_gateway_no_license |
测试需要配置为使用本地 AI gateway 的 GitLab 实例,但没有有效的云许可证。与 :orchestrated 标签配对。 |
:ai_gateway_no_add_on |
测试需要配置为使用本地 AI gateway 的 GitLab 实例,具有有效的云许可证,但没有分配 Duo Pro 插件。与 :orchestrated 标签配对。 |