제공된 코드 중 종료 메소드에는 os.Exit를 제외하는 조건이 포함되어 있습니다. (코드) 적용 범위 결과의 라인. 선이 실행되지만 녹색으로 표시되지 않으므로 커버리지 보고서에 사각지대가 생깁니다.
이 문제를 해결하기 위한 두 가지 주요 접근 방식이 있습니다.
TestMain 사용:
코드 리팩터링:
다음은 빌드 태그를 사용하여 업데이트된 코드 버전입니다.
<code class="go">//+build !test package main import "os" func main() { os.Exit(doFunc()) }</code>
이 수정된 코드는 커버리지 보고서에서 제외되므로 기능 테스트의 커버리지를 정확하게 나타낼 수 있습니다.
다음을 사용하여 커버리지 바이너리를 빌드하세요.
<code class="sh">go test -c -coverpkg=. -o example -tags test</code>
다음을 사용하여 테스트를 실행하세요.
<code class="sh">./example -test.coverprofile=/tmp/profile</code>
이제 결과 적용 범위 보고서에는 종료 방법에서 이전에 제외된 줄을 포함하여 100% 문 적용 범위가 표시되어야 합니다.
위 내용은 ## 사각지대에도 불구하고 기능 테스트에서 100% 커버리지를 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!