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 중국어 웹사이트의 기타 관련 기사를 참조하세요!