테스트 표준 및 스타일 가이드

이 문서는 GitLab 프로젝트의 자동화된 테스트에 대한 여러 지침과 모범 사례를 설명합니다.

이는 thoughtbot 테스트 스타일 가이드의 _확장_이 되도록 의도되었습니다. 이 가이드에서 thoughtbot 가이드와 충돌하는 규칙을 정의한다면 이 가이드가 우선합니다. 일부 지침은 그 중요성을 강조하기 위해 말 그대로 반복될 수 있습니다.

개요

GitLab은 Ruby on Rails 위에 구축되었으며, 백엔드 테스트에는 RSpec를 사용하고, 엔드 투 엔드 통합 테스트에는 Capybara를 사용합니다. 프론트엔드 측에서는 JavaScript 단위 및 통합 테스트에 Jest를 사용합니다.

다음은 자동화된 테스트가 무엇을 의미하며 그 원리가 무엇인지 이해하기 위해 모두가 읽어야 할 두 가지 훌륭한 기사입니다.

테스트 수준

다양한 테스트 수준과 변경 내용을 어느 수준에서 테스트해야 하는지 결정하는 방법에 대해 알아봅니다.

테스트 모범 사례

좋은 테스트를 작성하는 방법에 대해 알아야 할 모든 것: 테스트 디자인, RSpec, FactoryBot, 시스템 테스트, 매개변수화된 테스트 등.

프론트엔드 테스트 표준 및 스타일 가이드

좋은 프론트엔드 테스트를 작성하는 방법에 대해 알아야 할 모든 것: Jest, 프라미스 테스트, 스텁 등.

기능 테스트 시작하기

기능 테스트를 시작해야 하는 경우 일반 지침, 팁 및 트릭을 확인하여 화이트박스 테스트를 최대한 활용하세요.

불안정한 테스트

불안정한 테스트가 무엇인지, 우리가 겪은 다양한 종류의 불안정한 테스트 및 대처 방법에 대해 알아봅니다.

GitLab 파이프라인

GitLab 테스트 스위트가 CI 컨텍스트에서 실행되는 방식: 설정, 캐시, 아티팩트, 병렬화, 모니터링.

리뷰 앱

GitLab CE/EE를 위해 리뷰 앱이 설정되는 방법 및 사용법에 대해 알아봅니다.

Rake 작업 테스트

Rake 작업을 테스트하는 방법에 대해 알아야 할 모든 것입니다.

엔드 투 엔드 테스트

GitLab QA 테스트 프레임워크를 사용하여 엔드 투 엔드 테스트를 실행하는 방법에 대해 알아야 할 모든 것입니다.

마이그레이션 테스트

마이그레이션을 테스트하는 방법에 대해 알아야 할 모든 것입니다.

계약 테스트

계약 테스트 소개, 테스트 실행 방법, 작성 방법에 대해 알아봅니다.

테스트 결과 추적

테스트 스위트 실행 결과를 추적하는 방법에 대해 알아봅니다.

개발 문서로 돌아가기