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

이 문서는 GitLab 프로젝트의 자동화된 테스트에 대한 다양한 가이드라인과 모범 사례를 설명합니다.

이는 thoughtbot 테스트 스타일 가이드의 _확장_으로 의도되었습니다. 이 가이드가 thoughtbot 가이드와 모순되는 규칙을 정의하는 경우에는 이 가이드가 우선합니다. 일부 가이드라인은 중요성을 강조하기 위해 구어 그대로 반복될 수 있습니다.

개요

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

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

테스트 수준

다양한 테스트 수준 및 변경 사항을 어떤 수준에서 테스트해야 하는지 판단하는 방법에 대해 알아봅니다.

테스트 모범 사례

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

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

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

피쳐 테스트로 시작하기

피쳐 테스트를 시작해야 하는 경우, 일반적인 지침, 팁 및 요령을 알아보고 화이트박스 테스트의 최대 이점을 얻는 방법에 대해 알아봅니다.

불안정한 테스트

불안정한 테스트가 무엇이며, 우리가 겪은 다양한 종류의 불안정한 테스트, 그리고 우리가 이에 대해 하는 일에 대해 알아봅니다.

GitLab 파이프라인

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

리뷰 앱

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

Rake 작업의 테스트

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

엔드 투 엔드 테스트

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

마이그레이션 테스트

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

계약 테스트

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

테스트 결과 추적

테스트 스위트 실행 결과를 추적하는 방법.

개발 문서로 돌아가기