> 백엔드 개발 > Golang > 별도의 폴더에서 성공적인 테스트 실행에도 불구하고 내 Go 코드 적용 범위가 0%로 표시되는 이유는 무엇입니까?

별도의 폴더에서 성공적인 테스트 실행에도 불구하고 내 Go 코드 적용 범위가 0%로 표시되는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-28 10:59:11
원래의
774명이 탐색했습니다.

Why Is My Go Code Coverage Showing 0% Despite Successful Test Execution in Separate Folders?

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿