엔드-투-엔드 테스트를 위한 RSpec 메타데이터
GitLab v19.4요약
이 문서는 GitLab 엔드 투 엔드 테스트에서 사용하는 RSpec 메타데이터(태그)의 일부 목록입니다.
이 문서는 GitLab 엔드 투 엔드 테스트에서 사용하는 RSpec 메타데이터(태그)의 일부 목록입니다.
| 태그 | 설명 |
|---|---|
:elasticsearch |
테스트에 Elasticsearch 서비스가 필요합니다. Elasticsearch가 필요한 테스트만 포함하도록 인스턴스 수준 시나리오 Test::Integration::Elasticsearch에서 사용합니다. |
:except |
지정된 경우를 제외하고 일반적인 실행 컨텍스트에서 테스트를 실행합니다. 자세한 내용은 테스트 실행 컨텍스트 선택을 참고합니다. |
:external_api_calls |
테스트에 Docker 네트워크 외부의 네트워크와의 상호 작용이 필요합니다. |
:external_ai_provider |
테스트에 실제 외부 AI 제공자와 연동된 환경이 필요합니다. |
:feature_flag |
테스트가 기능 플래그를 사용하므로 실행하려면 관리자 계정이 필요합니다. scope가 :global로 설정되면 모든 라이브 .com 환경에서 테스트를 건너뜁니다. 그 외의 경우에는 Canary, Production, Pre-production 에서만 건너뜁니다. 자세한 내용은 기능 플래그를 사용한 테스트를 참고합니다. |
:geo |
테스트에 기본 인스턴스와 보조 인스턴스, 즉 두 개의 GitLab Geo 인스턴스를 기동해야 합니다. |
:gitaly_cluster |
Praefect 노드 뒤의 이중화된 Gitaly 노드에 리포지터리가 저장된 GitLab 인스턴스를 대상으로 테스트를 실행합니다. 모든 노드는 별도의 컨테이너입니다. 이 태그를 사용하는 테스트는 추가로 시작할 컨테이너가 3개 있어 설정 시간이 더 깁니다. |
:github |
테스트에 GitHub 개인 액세스 토큰이 필요합니다. |
:group_saml |
테스트에 그룹에 SAML SSO가 활성화된 GitLab 인스턴스가 필요합니다. 외부 SAML ID 공급자와 상호 작용합니다. :orchestrated 태그와 함께 사용합니다. |
:instance_saml |
테스트에 인스턴스에 SAML SSO가 활성화된 GitLab 인스턴스가 필요합니다. 외부 SAML ID 공급자와 상호 작용합니다. :orchestrated 태그와 함께 사용합니다. |
:integrations |
사용할 수 있는 통합을 테스트하는 것이 목적입니다. 테스트에는 실행 컨텍스트에 Docker가 설치되어 있어야 합니다. 컨테이너를 프로비저닝하며, 로컬 인스턴스를 대상으로 실행하거나 gitlab-qa 시나리오 Test::Integration::Integrations로 실행할 수 있습니다. |
:issue, :issue_${num} |
스펙과 관련이 있을 수 있는 이슈로 연결하는 선택적 링크입니다. 관련 이슈를 추적하는 데 도움이 되며 테스트 보고서를 생성하는 도구에서도 사용할 수 있습니다. 현재 Allure 테스트 보고서에 자동으로 추가됩니다. issue_1, issue_2처럼 선택적 숫자 접미사를 붙여 여러 태그를 사용할 수 있습니다. |
:service_ping_disabled |
테스트가 인스턴스 수준에서 GitLab 구성 service ping과 상호 작용해 Admin area 설정의 service ping 체크박스를 켜거나 끕니다. 이 태그가 붙은 테스트는 service_ping_disabled job 에서만 실행되며 :orchestrated 및 :requires_admin 태그와 함께 사용해야 합니다. |
:jira |
테스트에 Jira Server가 필요합니다. Test::Integration::Jira 테스트 시나리오를 실행하면 GitLab-QA가 Docker 컨테이너에 Jira Server를 프로비저닝합니다. |
:kubernetes |
테스트에 SSH 터널 뒤에서 실행되도록 구성되어 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 |
테스트에 Puma 및 Sidekiq과 함께 전용 메트릭 익스포터가 실행 중인 GitLab 인스턴스가 필요합니다. |
:mixed_env |
gitlab_canary=true 쿠키 존재 여부에 따른 트래픽 라우팅으로 짝을 이루는 canary 버전을 사용할 수 있는 환경에서만 테스트를 실행해야 합니다. 이 범주의 테스트는 혼합 배포 환경을 검증하기 위해 테스트 도중에 쿠키를 전환합니다. |
:oauth |
테스트가 외부 OmniAuth 제공자를 사용해 GitLab에 로그인합니다. |
:object_storage |
테스트에 여러 오브젝트 스토리지 유형을 사용하도록 구성된 GitLab 인스턴스가 필요합니다. S3 호환 오브젝트 스토리지 서버를 사용합니다. |
:only |
특정 실행 컨텍스트에서만 테스트를 실행합니다. 자세한 내용은 테스트 실행 컨텍스트 선택을 참고합니다. |
:orchestrated |
테스트 대상 GitLab 인스턴스가 기본 GitLab 구성과 다르게 gitlab-qa로 구성되거나, gitlab-qa가 별도 Docker 컨테이너에서 추가 서비스를 실행하거나, 두 가지 모두에 해당할 수 있습니다. GitLab 구성을 동적으로 수정할 수 없는 환경(예: Staging)을 테스트할 때는 :orchestrated 태그가 붙은 테스트를 제외합니다. |
:product_group |
테스트가 속한 제품 그룹을 지정합니다. 전체 그룹 목록은 제품 섹션, Stage, 그룹, 카테고리를 참고합니다. |
:quarantine |
테스트가 격리되어 CI에서 건너뛰므로, 실패하더라도 파이프라인을 막지 않습니다. 격리된 테스트도 로컬에서는 실행됩니다. CI에서 실행하려면 실패가 허용되는 e2e:test-on-omnibus-ee 파이프라인의 수동 _quarantine job을 트리거합니다. 그 밖의 엔드 투 엔드 파이프라인은 격리된 테스트를 실행하지 않습니다. 특정 컨텍스트에서 실행될 때만 테스트를 격리할 수도 있습니다. |
:relative_url |
테스트에 상대 URL 아래에 설치된 GitLab 인스턴스가 필요합니다. |
:repository_storage |
테스트에 여러 리포지터리 스토리지 경로를 사용하도록 구성된 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_cells |
HTTP 라우터를 통해 Cell을 대상으로 실행할 때 테스트를 제외합니다. |
:skip_dedicated |
일부 인스턴스 수준 관리 기능을 제공하지 않는 GitLab Dedicated 테넌트를 대상으로 실행할 때 테스트를 제외합니다. QA_RUNNING_ON_DEDICATED=true가 필요합니다. |
:skip_fips_env |
FIPS 모드 환경을 대상으로 실행할 때 테스트를 제외합니다. |
:skip_live_env |
Staging, Canary, Production과 같이 실제로 배포된 환경을 대상으로 실행할 때 테스트를 제외합니다. |
:skip_signup_disabled |
테스트가 UI로 새 사용자를 가입시키므로, UI를 통한 신규 사용자 등록을 허용하지 않는 환경에서는 건너뜁니다. |
:smoke |
테스트가 GitLab 인스턴스의 기본 기능을 검증하는 테스트 스위트에 속합니다. |
:health_check |
테스트가 smoke의 부분 집합인 가장 작은 테스트 스위트에 속합니다. 애플리케이션의 상태와 헬스를 모니터링하는 데 사용합니다. |
:smtp |
테스트에 SMTP 서버를 사용하도록 구성된 GitLab 인스턴스가 필요합니다. MailHog로 GitLab의 SMTP 알림 이메일 전송을 테스트합니다. |
:ai_gateway |
테스트에 유효한 클라우드 라이선스, GitLab Duo Pro 애드온, 관리자 사용자에게 할당된 GitLab Duo Pro 좌석을 갖추고 로컬 AI Gateway를 사용하도록 구성된 GitLab 인스턴스가 필요합니다. :orchestrated 태그와 함께 사용합니다. |
:ai_gateway_no_seat_assigned |
테스트에 관리자 사용자에게 좌석이 할당되지 않은 상태로 로컬 AI Gateway를 사용하도록 구성된 GitLab 인스턴스가 필요합니다. :orchestrated 태그와 함께 사용합니다. |
:ai_gateway_no_license |
테스트에 유효한 클라우드 라이선스 없이 로컬 AI Gateway를 사용하도록 구성된 GitLab 인스턴스가 필요합니다. :orchestrated 태그와 함께 사용합니다. |
:ai_gateway_no_add_on |
테스트에 유효한 클라우드 라이선스는 있지만 GitLab Duo Pro 애드온이 할당되지 않은 상태로 로컬 AI Gateway를 사용하도록 구성된 GitLab 인스턴스가 필요합니다. :orchestrated 태그와 함께 사용합니다. |