Go 프로젝트 내의 여러 폴더에서 코드를 단위 테스트할 때 코드 적용 범위 보고에 불일치가 발생할 수 있습니다. 하위 폴더에서 테스트를 실행할 때 모든 코드가 다루어질 것으로 예상할 수 있으므로 실망스러울 수 있습니다.
문제:
stuff_test 폴더의 커버리지 보고서에는 커버된 명세서의 0%가 표시됩니다. 다음 프로젝트 구조가 관련됩니다:
stuff/stuff.go -> package: stuff test/stuff/stuff_test.go -> package: test
가능한 원인:
코드 적용 범위 분석은 기본적으로 테스트되는 패키지로 제한됩니다. 이 경우 stuff_test 패키지는 stuff 패키지와 별도의 폴더에 있으며, 이로 인해 문제가 발생합니다.
해결책:
이 문제를 해결하려면 다음을 사용할 수 있습니다. go test를 실행할 때 -coverpkg 옵션을 사용하세요. 이 옵션을 사용하면 적용 범위 정보를 수집하려는 패키지를 지정할 수 있습니다.
go test ./test/... -coverprofile=cover.out -coverpkg ./...
이 명령은 지정된 패턴과 일치하는 모든 패키지에 적용 범위 분석을 적용합니다. 이 경우에는 해당 패키지의 모든 패키지입니다. 현재 디렉토리 및 하위 디렉토리.
범위 보고서 보기:
테스트가 실행되면, go 도구 Cover 명령을 사용하여 적용 범위 보고서를 생성할 수 있습니다.
go tool cover -html=cover.out
이 명령은 웹 브라우저에서 열 수 있는 Cover.out이라는 HTML 보고서를 생성하여 지정된 모든 항목에 대한 적용 범위 정보를 볼 수 있습니다. 패키지.
위 내용은 별도의 폴더에서 테스트할 때 Go 코드 적용 범위 보고서에 0%가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!