Go에서 테스트 커버리지를 어떻게 측정할 수 있나요?

DDD
풀어 주다: 2024-11-28 03:57:12
원래의
274명이 탐색했습니다.

How can I measure test coverage in Go?

Go에서 테스트 범위를 측정하는 방법

소프트웨어 테스팅의 과제 중 하나는 테스트 대상 코드가 테스트 범위에 포함되는지 결정하는 것입니다. . 테스트 적용 범위라고 알려진 이 지표는 테스트가 포괄적이고 효과적인지 확인하는 데 필수적입니다.

Go의 테스트 적용 범위 기능

Go 버전 1.2 이상에서는 go가 test 명령은 이제 테스트 적용 범위 결과의 계산 및 표시를 지원합니다. 적용 범위를 활성화하려면 테스트를 실행할 때 -cover 플래그를 사용하면 됩니다.

go test -cover
로그인 후 복사

이렇게 하면 테스트에서 적용되는 명령문의 비율을 나타내는 기본 적용 범위 보고서가 생성됩니다.

자세한 커버리지 분석

더 자세한 커버리지 보고서를 보려면 -coverprofile 플래그를 사용하여 커버리지 프로필을 포함할 출력 파일을 지정하세요. 그런 다음 go 도구 커버 명령을 사용하여 이 프로필을 분석할 수 있습니다.

go test -coverprofile=coverage.out
go tool cover -html=coverage.out
로그인 후 복사

-html 플래그는 커버되지 않은 라인을 강조 표시하여 커버리지를 시각적으로 표현하는 HTML 보고서를 생성합니다.

블랙박스 테스트

블랙박스 테스트(내부 상태에 접근할 수 없는 테스트)의 적용 범위를 측정하기 위해 패키지), -coverpkg 플래그를 사용합니다. 이 플래그는 커버리지를 위해 계측되어야 하는 패키지를 지정합니다.

go test -coverprofile=.coverage.html -coverpkg=your/pkg your/pkg/pkg_test
로그인 후 복사

최근 개선 사항

Go 1.20에서는 이제 통합 테스트가 커버리지 분석에 포함될 수 있습니다. go build -cover 명령을 사용하여 커버리지 계측 바이너리를 빌드할 수 있습니다. 그런 다음 이러한 바이너리를 통합 테스트에 사용하여 적용 범위 테스트 범위를 확장할 수 있습니다.

위 내용은 Go에서 테스트 커버리지를 어떻게 측정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿