기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
codebuild-tests-run CLI 명령 사용
AWS CodeBuild 는 테스트 명령과 테스트 파일 위치를 입력으로 사용하는 CLI를 제공합니다. 이 입력이 있는 CLI는 테스트 파일 이름을 기반으로 parallelism 필드에 지정된 대로 테스트를 샤드 수로 분할합니다. 테스트 파일을 샤드에 할당하는 것은 샤딩 전략에 따라 결정됩니다.
codebuild-tests-run \ --files-search "codebuild-glob-search '**/__tests__/*.js'" \ --test-command 'npx jest --runInBand --coverage' \ --sharding-strategy 'equal-distribution'
다음 표는 codebuild-tests-run CLI 명령의 필드를 설명합니다.
| 필드 이름 | 유형 | 필수 또는 선택 | 정의 |
|---|---|---|---|
|
|
문자열 |
필수 |
이 명령은 테스트를 실행하는 데 사용됩니다. |
|
|
문자열 |
필수 |
이 명령은 테스트 파일 목록을 제공합니다. AWS CodeBuild 제공된 codebuild-glob-search CLI 명령 또는 원하는 다른 파일 검색 도구를 사용할 수 있습니다. 참고
|
|
|
Enum |
선택 사항 |
유효한 값:
자세한 내용은 테스트 분할 정보 단원을 참조하십시오. |
codebuild-tests-run CLI는 먼저 files-search 파라미터에 제공된 명령을 사용하여 테스트 파일 목록을 식별합니다. 그런 다음 지정된 샤딩 전략을 사용하여 현재 샤드(환경)에 지정된 테스트 파일의 하위 집합을 결정합니다. 마지막으로 이 테스트 파일의 하위 집합은 공백으로 구분된 목록으로 형식이 지정되고 실행되기 전에 test-command 파라미터에 제공된 명령의 끝에 추가됩니다.
공백으로 구분된 목록을 허용하지 않는 테스트 프레임워크의 경우 codebuild-tests-run CLI는 CODEBUILD_CURRENT_SHARD_FILES 환경 변수를 통해 유연한 대안을 제공합니다. 이 변수에는 현재 빌드 샤드에 지정된 테스트 파일 경로의 줄 바꿈으로 구분된 목록이 포함되어 있습니다. 이 환경 변수를 활용하면 다양한 테스트 프레임워크 요구 사항에 쉽게 적응하여 공백으로 구분된 목록과 다른 입력 형식을 기대하는 바람에 부응할 수 있습니다. 또한, 테스트 프레임워크의 필요에 따라 테스트 파일 이름의 형식을 지정할 수도 있습니다. 다음은 Linux에서 Django 프레임워크와 함께 CODEBUILD_CURRENT_SHARD_FILES를 사용하는 예제입니다. 여기서 CODEBUILD_CURRENT_SHARD_FILES는 Django에서 지원하는 점 표기법 파일 경로를 가져오는 데 사용됩니다.
codebuild-tests-run \ —files-search "codebuild-glob-search '/tests/test_.py'" \ —test-command 'python3 manage.py test $(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed -E "s/\//__/g; s/\.py$//; s/__/./g")' \ —sharding-strategy 'equal-distribution'
참고
CODEBUILD_CURRENT_SHARD_FILES 환경 변수는 codebuild-tests-run CLI의 범위 내에서만 사용할 수 있습니다.
또한, 테스트 명령 내부에서 CODEBUILD_CURRENT_SHARD_FILES를 사용하는 경우 위의 예제와 같이 CODEBUILD_CURRENT_SHARD_FILES를 큰따옴표 안에 넣습니다.