> 백엔드 개발 > Golang > Go 패키지 적용 범위 결과를 어떻게 집계할 수 있나요?

Go 패키지 적용 범위 결과를 어떻게 집계할 수 있나요?

DDD
풀어 주다: 2024-12-21 10:44:10
원래의
970명이 탐색했습니다.

How Can I Aggregate Go Package Coverage Results?

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

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