GO 프로젝트에 대한 별도 폴더의 코드 적용 범위 불일치 해결
특정 구조의 프로젝트를 작업하는 동안 패키지와 테스트가 별도의 폴더에 있는 경우 문제가 발생했습니다. stuff_test.go에서 stuff.go 코드를 실행했음에도 불구하고 Coverage Report는 0.0%로 표시되었습니다.
가능한 원인 및 해결 방법
GO의 기본값으로 인해 발생하는 문제 테스트 중인 패키지에만 적용되는 적용 범위 분석 동작입니다. 이를 극복하기 위해 -coverpkg 플래그를 활용하여 적용 범위 데이터를 수집해야 하는 패키지를 지정할 수 있습니다.
-coverpkg 옵션을 사용하면 test/stuff/stuff_test.go에서 테스트가 수행되어야 한다고 지정할 수 있습니다. stuff/stuff.go에 대한 코드 적용 범위도 고려하세요. 이렇게 하면 적용 범위 분석에 모든 관련 패키지가 포함됩니다.
다음은 -coverpkg의 사용법을 보여주는 명령 예입니다.
go test ./test/... -coverpkg ./...
이 명령은 테스트 경로와 일치하는 패키지에서 테스트를 실행하고 다음을 포함합니다. ./....와 일치하는 모든 패키지에 대한 적용 범위 정보
적용 범위 보기 보고서
테스트가 실행되면 다음 명령을 사용하여 적용 범위 보고서를 생성하고 볼 수 있습니다.
go tool cover -html=cover.out
이 명령은 Cover.out이라는 HTML 적용 범위 보고서를 생성합니다. 커버리지 데이터를 시각화하기 위해 웹 브라우저에서 열 수 있습니다.
위 내용은 별도의 폴더에서 성공적인 테스트 실행에도 불구하고 내 Go 코드 적용 범위가 0%로 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!