CodeBuild를 사용하면 테스트에 대한 코드 범위 보고서를 생성할 수 있습니다. 다음과 같은 코드 범위 보고서가 제공됩니다.
- 행 범위
-
행 범위는 테스트에서 다루는 명령문 수를 측정합니다. 명령문은 주석이나 조건문을 포함하지 않는 단일 명령입니다.
line coverage = (total lines covered)/(total number of lines)
- 분기 범위
-
분기 범위는 제어 구조의 가능한 모든 분기(예:
if
또는case
문) 중에서 테스트에 포함되는 분기 수를 측정합니다.branch coverage = (total branches covered)/(total number of branches)
지원되는 코드 범위 보고서 파일 형식은 다음과 같습니다.
-
JacoCo XML
-
SimpleCov JSON¹
-
Clover XML
-
Cobertura XML
-
LCOV 정보
¹ CodeBuild는 simplecov-json
코드 범위 보고서 생성
코드 범위 보고서를 생성하려면 buildspec 파일에서 1개 이상의 코드 범위 보고서 그룹으로 구성된 빌드 프로젝트를 실행합니다. CodeBuild는 코드 범위 결과를 해석하고 실행에 대한 코드 범위 보고서를 제공합니다. 동일한 buildspec 파일을 사용하는 각 후속 빌드에 대해 새 테스트 보고서가 생성됩니다.
테스트 보고서를 작성하려면
-
빌드 프로젝트를 생성합니다. 자세한 내용은 AWS CodeBuild에서 빌드 프로젝트 생성을 참조하세요.
-
테스트 보고서 정보를 사용하여 프로젝트의 buildspec 파일을 구성합니다.
-
reports:
섹션을 추가하고 보고서 그룹의 이름을 지정합니다. CodeBuild는 프로젝트 이름과project-name
-report-group-name-in-buildspec
형식으로 지정한 이름을 사용하여 보고서 그룹을 생성합니다. 사용할 보고서 그룹이 이미 있는 경우 해당 ARN을 지정합니다. ARN 대신 해당 이름을 사용하는 경우 CodeBuild에서 새 보고서 그룹을 생성합니다. 자세한 내용은 Reports syntax in the buildspec file 단원을 참조하십시오. -
보고서 그룹에서 코드 범위 결과를 포함하는 파일의 위치를 지정합니다. 둘 이상의 보고서 그룹을 사용하는 경우 각 보고서 그룹에 대해 결과 파일 위치를 지정합니다. 빌드 프로젝트가 실행될 때마다 새 코드 범위 보고서가 생성됩니다. 자세한 내용은 테스트 파일 지정 단원을 참조하십시오.
다음은 test-
results/jacoco-coverage-report.xml
에 있는 JaCoCo XML 결과 파일에 대한 코드 범위 보고서를 생성하는 예제입니다.reports: jacoco-report: files: - 'test-results/jacoco-coverage-report.xml' file-format: 'JACOCOXML'
-
build
또는post_build
시퀀스의commands
섹션에서 코드 범위 분석을 실행하는 명령을 지정합니다. 자세한 내용은 테스트 명령 지정 단원을 참조하십시오.
-
-
빌드 프로젝트의 빌드를 실행합니다. 자세한 내용은 AWS CodeBuild 빌드를 수동으로 실행 단원을 참조하십시오.
-
빌드가 완료되면 프로젝트 페이지의 빌드 기록에서 새 빌드 실행을 선택하십시오. 보고서를 선택하여 코드 범위 보고서를 확인합니다. 자세한 내용은 빌드에 대한 테스트 보고서 보기 단원을 참조하십시오.