InfoGrab Docs

빠른 실패 테스트

빠른 실패 테스트 템플릿을 사용하여 코드 변경 사항에 대한 빠른 피드백을 받기 위해 관련 RSpec 테스트만 실행합니다.

빠른 실패 테스트는 나머지 스위트가 실행되기 전에 머지 리퀘스트 변경 사항과 가장 관련 있는 테스트 spec을 먼저 실행합니다. 해당 spec이 실패하면 파이프라인은 시간과 컴퓨팅 리소스를 절약하기 위해 즉시 중단됩니다. RSpec을 사용하는 Ruby on Rails 프로젝트의 경우 Verify/FailFast CI/CD 템플릿 이 관련 spec만 선택하여 실행합니다. 이 템플릿은 변경된 파일을 관련 spec 파일에 매핑하는 test_file_finder ( tff ) gem 을 사용합니다. 기본적으로 템플릿은 다른 모든 파이프라인 스테이지보다 먼저 .pre 스테이지 에서 실행됩니다. 빠른 실패 테스트 구성 # 빠른 실패 테스트를 구성하여 전체 테스트 스위트가 실행되기 전에 머지 리퀘스트 변경 사항에 대한 더 빠른 피드백을 받으세요. 사전 요구 사항: RSpec을 사용하는 Ruby on Rails 프로젝트. 프로젝트 설정에서 병합 결과 파이프라인 활성화. 이 설정은 머지 리퀘스트 파이프라인 도 활성화되어 있어야 합니다. 빠른 실패 테스트를 구성하려면: 머지 리퀘스트 파이프라인에서 전체 스위트를 실행하는 RSpec job을 추가합니다: rspec-complete: stage: test rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" script: - bundle install - bundle exec rspec CI/CD 구성에 Verify/FailFast 템플릿을 포함합니다: include: - template: Verify/FailFast.gitlab-ci.yml 선택 사항. 다른 Docker 이미지를 사용하려면 CI/CD 구성 파일의 rspec-rails-modified-path-specs job에 이미지를 설정합니다: include: - template: Verify/FailFast.gitlab-ci.yml rspec-rails-modified-path-specs: image: custom-docker-image-with-ruby 빠른 실패 테스트 결과 # 다음 예시는 10개 모델 각각에 100개의 spec으로 구성된 스위트(총 1000개 spec)를 가정합니다. 변경된 파일 rspec-rails-modified-path-specs rspec-complete Ruby 파일 없음 실행하지 않음 전체 1000개 spec 실행 app/models/example.rb (모든 spec 통과) example.rb에 대한 100개 spec 실행 전체 1000개 spec 실행 app/models/example.rb (spec 실패) example.rb에 대한 100개 spec 실행 건너뜀