>백엔드 개발 >Golang >격리된 패키지에 대해 정확한 Go 코드 적용 범위를 달성하는 방법은 무엇입니까?

격리된 패키지에 대해 정확한 Go 코드 적용 범위를 달성하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-27 06:09:09614검색

How to Achieve Accurate Go Code Coverage for Isolated Packages?

Go에서 격리된 폴더의 코드 적용 범위를 측정하는 방법

Go에서는 별도의 폴더에 있는 패키지의 코드 적용 범위를 측정하는 것이 어려울 수 있습니다. 다음 프로젝트 구조를 고려하세요.

stuff/stuff.go -> package: stuff
test/stuff/stuff_test.go -> package: test

stuff_test.go가 stuff.go에서 코드를 실행하더라도 적용 범위 보고서에는 다음이 표시될 수 있습니다.

coverage: 0.0% of statements

go test -cover by 기본은 종속성이 아닌 테스트 중인 패키지만 분석합니다.

이 문제를 해결하려면 -coverpkg 옵션을 사용하여 어떤 패키지를 테스트해야 하는지 지정할 수 있습니다. 커버리지 분석을 위해 고려됩니다. 예를 들어 다음 명령은 현재 디렉터리 아래의 모든 패키지를 포함합니다.

go test ./test/... -coverprofile=cover.out -coverpkg ./...

테스트 실행이 완료되면 다음을 사용하여 적용 범위 보고서를 생성할 수 있습니다.

go tool cover -html=cover.out

이렇게 하면 별도의 폴더에 있는 패키지 범위를 포함하여 프로젝트의 코드 범위에 대한 자세한 보고서를 제공합니다.

위 내용은 격리된 패키지에 대해 정확한 Go 코드 적용 범위를 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.