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_1issue_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 标签配对。