배치 빌드에서 병렬 테스트 실행 활성화
테스트를 병렬로 실행하려면 아래와 같이 빌드 팬아웃 필드와 병렬 빌드 수를 포함하도록 배치 빌드 buildspec 파일을 업데이트하여 parallelism 필드에 테스트 제품군을 분할합니다. parallelism 필드는 테스트 제품군을 실행하도록 설정된 독립 실행기 수를 지정합니다.
여러 병렬 실행 환경에서 테스트를 실행하려면 parallelism 필드를 0보다 큰 값으로 설정합니다. 아래 예제에서 parallelism은 5로 설정됩니다. 즉, CodeBuild는 테스트 제품군의 일부를 병렬로 실행하는 동일한 빌드 5개를 시작합니다.
codebuild-tests-run CLI 명령을 사용하여 테스트를 분할하고 실행할 수 있습니다. 테스트 파일이 분할되고 테스트의 일부가 각 빌드에서 실행됩니다. 이렇게 하면 전체 테스트 제품군을 실행하는 데 걸리는 총 시간이 줄어듭니다. 다음 예제에서는 테스트가 5개로 분할되고 테스트 이름을 기반으로 분할 지점이 계산됩니다.
version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: install: commands: - npm install jest-junit --save-dev pre_build: commands: - echo 'prebuild' build: commands: - | codebuild-tests-run \ --test-command 'npx jest --runInBand --coverage' \ --files-search "codebuild-glob-search '**/_tests_/**/*.test.js'" \ --sharding-strategy 'equal-distribution' post_build: commands: - codebuild-glob-search '**/*.xml' - echo "Running post-build steps..." - echo "Build completed on `date`" reports: test-reports: files: - '**/junit.xml' base-directory: . discard-paths: yes file-format: JUNITXML
보고서가 build-fanout 빌드용으로 구성된 경우 각 빌드에 대해 테스트 보고서가 별도로 생성되며, 이를 AWS CodeBuild 콘솔에서 해당 빌드의 보고서 탭에서 볼 수 있습니다.
배치에서 병렬 테스트를 실행하는 방법에 대한 자세한 내용은 다양한 테스트 프레임워크 샘플에 대한 병렬 테스트 실행를 참조하세요.