>백엔드 개발 >Golang >별도의 폴더에서 정확한 Go 코드 적용 범위를 얻으려면 어떻게 해야 합니까?

별도의 폴더에서 정확한 Go 코드 적용 범위를 얻으려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-26 15:29:09447검색

How Can I Get Accurate Go Code Coverage Across Separate Folders?

Golang의 개별 폴더에서 코드 적용 범위 감지

다음과 같은 구조의 프로젝트에서

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

언제 stuff_test를 실행하면 stuff.go의 코드 적용 범위가 0.0%로 보고됩니다. *_test.go를 stuff 폴더로 이동하면 문제가 해결되지만 프로젝트 구조와 Go 모범 사례에 대한 의문이 제기됩니다.

-coverpkg 플래그를 통한 솔루션

To 프로젝트 구조를 수정하지 않고 이 상황을 해결하려면 -coverpkg 플래그를 활용하세요. 이 플래그를 사용하면 적용 범위 분석에 포함할 패키지를 지정할 수 있습니다.

지정된 프로젝트 구조에 대해 명령은 다음과 같습니다.

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

이 명령은 ./test/의 모든 테스트를 분석합니다. .. ./....

커버리지 생성 및 보기와 일치하는 패키지를 포함한 커버리지 정보 경로 보고서

테스트가 실행되면 go 도구 커버를 사용하여 적용 범위 보고서를 생성합니다.

go tool cover -html=cover.out

이렇게 하면 분석된 패키지에 대한 적용 범위 정보를 자세히 설명하는 HTML 보고서가 생성됩니다. 프로젝트 폴더 전체의 코드 적용 범위에 대한 통찰력을 제공합니다.

위 내용은 별도의 폴더에서 정확한 Go 코드 적용 범위를 얻으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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