>백엔드 개발 >Golang >golang 함수의 테스트 커버리지 보고서를 분석하는 방법은 무엇입니까?

golang 함수의 테스트 커버리지 보고서를 분석하는 방법은 무엇입니까?

王林
王林원래의
2024-04-26 14:09:02922검색

go test -cover 명령을 통해 커버리지 구성 파일을 생성하고, gocov 도구를 사용하여 HTML 보고서를 설치 및 생성하여 자세한 커버리지 정보를 확인하세요. 구체적인 단계는 다음과 같습니다. gocov 도구를 설치합니다. 단위 테스트를 실행하려면 -cover 플래그를 추가하세요: go test -cover. 적용 범위 보고서 생성: gocov Convert -html Coverage.out >

golang 함수의 테스트 커버리지 보고서를 분석하는 방법은 무엇입니까?

Golang 함수의 테스트 커버리지 보고서를 분석하는 방법

테스트 커버리지 보고서는 테스트된 코드 부분에 대한 통찰력을 제공합니다. 이는 다루지 않은 코드 영역을 식별하고 추가 테스트 노력을 안내하는 데 도움이 됩니다.

go test -cover 사용go test -cover

Go 语言内置了 go test -cover 命令,可以生成测试覆盖率报告。该命令输出一个覆盖率配置文件,其中包含每个包和函数的覆盖率信息。

安装 gocov 工具

gocov 是一个可视化覆盖率报告的工具。它可以从 GitHub 或通过以下命令安装:

go install github.com/wadey/gocov/gocov

生成 HTML 报告

要生成交互式的 HTML 报告,请使用 gocov 工具:

gocov convert -html coverage.out > coverage.html

生成的 coverage.html 文件可以在 Web 浏览器中打开,以查看详细的覆盖率信息。

实战案例

假设我们有一个名为 add 的函数,用于将两个整数相加:

package main

func add(a, b int) int {
    return a + b
}

func TestAdd(t *testing.T) {
    tests := []struct {
        a, b int
        want int
    }{
        {1, 2, 3},
        {3, 4, 7},
    }

    for _, test := range tests {
        if got := add(test.a, test.b); got != test.want {
            t.Errorf("add(%d, %d): got %d, want %d", test.a, test.b, got, test.want)
        }
    }
}

运行覆盖率测试

使用 go test -cover 命令运行单元测试:

go test -cover

生成覆盖率报告

生成并可视化覆盖率报告:

gocov convert -html coverage.out > coverage.html

打开 coverage.html 文件,可以看到 add

🎜Go 언어에는 테스트 적용 범위 보고서를 생성하는 내장 go test -cover 명령이 있습니다. 이 명령은 각 패키지 및 기능에 대한 적용 범위 정보가 포함된 적용 범위 구성 파일을 출력합니다. 🎜🎜🎜gocov 도구 설치 🎜🎜🎜gocov는 시각적 범위 보고를 위한 도구입니다. GitHub에서 또는 다음 명령을 통해 설치할 수 있습니다: 🎜rrreee🎜🎜HTML 보고서 생성🎜🎜🎜대화형 HTML 보고서를 생성하려면 gocov 도구를 사용하세요: 🎜rrreee🎜generated coverage html. 파일을 웹 브라우저에서 열어 자세한 적용 범위 정보를 볼 수 있습니다. 🎜🎜🎜실용 사례🎜🎜🎜두 개의 정수를 더하는 add라는 함수가 있다고 가정해 보세요. 🎜rrreee🎜🎜실행 범위 테스트🎜🎜🎜go 테스트 -cover 사용 명령은 단위 테스트를 실행합니다. 🎜rrreee🎜🎜커버리지 보고서 생성🎜🎜🎜커버리지 보고서 생성 및 시각화: 🎜rrreee🎜coverage.html 파일을 열면 add를 볼 수 있습니다. > 기능 적용 비율. 적용 범위가 100% 미만인 경우 일부 코드 경로가 테스트에서 적용되지 않았음을 나타냅니다. 🎜

위 내용은 golang 함수의 테스트 커버리지 보고서를 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.