
전체 Go 패키지 적용 범위
Go 라이브러리에서 테스트를 실행할 때 모든 패키지에 대한 통합 적용 범위 개요를 얻어야 할 수도 있습니다. 패키지. 기본적으로 '-cover' 플래그는 각 패키지에 대한 적용 범위 정보만 개별적으로 제공합니다.
해결 방법
Go 1.10부터 '-coverpkg' 플래그를 활용할 수 있습니다. 이 문제를 해결하기 위해. 다음 명령을 실행하기만 하면 됩니다.
1 | go test -v -coverpkg=./... -coverprofile=profile.cov ./...
|
로그인 후 복사
테스트를 실행한 후 다음을 사용하여 집계된 적용 범위 분석을 생성합니다.
1 | go tool cover -func profile.cov
|
로그인 후 복사
레거시 방법(Pre-Go 1.10)
Go 1.10 이전 버전의 경우 다음 bash를 사용할 수 있습니다. 스크립트:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash
echo 'mode: count' > profile.cov
for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do
if ls $dir /*.go &>/dev/null; then
go test -short -covermode= count -coverprofile= $dir /profile.tmp $dir
if [ -f $dir /profile.tmp ]; then
cat $dir /profile.tmp | tail -n +2 >> profile.cov
rm $dir /profile.tmp
fi
fi
done
go tool cover -func profile.cov
|
로그인 후 복사
위 내용은 Go 패키지 적용 범위 결과를 어떻게 집계할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!