>  기사  >  백엔드 개발  >  golang 기능을 테스트하고 다루는 방법은 무엇입니까?

golang 기능을 테스트하고 다루는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-04-27 13:36:02828검색

Go에서 테스트와 적용 범위는 안정적이고 신뢰할 수 있는 코드를 유지하는 데 중요합니다. 테스트는 Test로 시작하고 함수의 예상 출력을 확인하기 위한 어설션을 포함하는 함수를 작성하여 수행됩니다. 테스트를 실행할 때 go test 명령을 사용하고, 적용 범위를 측정하려면 go test -coverprofile=coverage.out 명령을 사용하여 적용 범위 프로필을 생성할 수 있습니다. 적용 범위 보고서를 보려면 go toolcover -html=coverage.out 명령을 사용하세요. 이 명령은 실행되지 않은 코드 줄을 브라우저에 표시합니다.

golang 기능을 테스트하고 다루는 방법은 무엇입니까?

Go 기능의 테스트 및 적용 범위

Go에서 테스트 및 적용 범위는 안정적이고 신뢰할 수 있는 코드를 유지하는 데 중요합니다. 이 튜토리얼에서는 Go 기능에 대한 테스트를 설정하고 실행하는 과정을 단계별로 안내합니다.

테스트 설정

먼저 _test.go로 끝나는 파일을 생성하고 테스트하려는 함수가 있는 디렉터리에 넣습니다. _test.go 结尾的文件,并将其放置在要测试的函数所在的目录中。

下一步,编写一个测试函数,该函数的名称以 Test 开头,后跟要测试的函数的名称。测试函数需要包含多个断言,以验证函数的预期输出。

package mypackage

import (
    "testing"
)

func TestAdd(t *testing.T) {
    expected := 10
    result := Add(5, 5)
    if result != expected {
        t.Errorf("Expected %d, got %d", expected, result)
    }
}

运行测试

使用 go test 命令运行测试:

go test

测量覆盖率

覆盖率衡量代码中执行的代码行数量。要测量覆盖率,可以使用 -cover 标志:

go test -coverprofile=coverage.out

此命令将生成一个覆盖率配置文件,名为 coverage.out

查看覆盖率报告

可以使用 go tool cover 命令查看覆盖率报告:

go tool cover -html=coverage.out

这将在默认浏览器中打开一个覆盖率报告,显示哪些代码行未被执行。

实战案例

考虑一个计算数组中元素和的函数:

package mypackage

func SumArray(arr []int) int {
    sum := 0
    for _, v := range arr {
        sum += v
    }
    return sum
}

测试案例

func TestSumArray(t *testing.T) {
    arr := []int{1, 2, 3, 4, 5}
    expected := 15
    result := SumArray(arr)
    if result != expected {
        t.Errorf("Expected %d, got %d", expected, result)
    }
}

运行测试和查看覆盖率

go test -coverprofile=coverage.out
go tool cover -html=coverage.out

这将生成一个覆盖率报告,其中显示 SumArray

다음으로, 이름이 Test로 시작하고 그 뒤에 테스트하려는 함수 이름이 오는 테스트 함수를 작성합니다. 테스트 함수에는 함수의 예상 출력을 확인하기 위해 여러 어설션이 포함되어야 합니다. 🎜rrreee🎜🎜테스트 실행🎜🎜🎜 go test 명령을 사용하여 테스트를 실행하세요. 🎜rrreee🎜🎜커버리지 측정🎜🎜🎜커버리지는 코드에서 실행되는 코드 줄 수를 측정합니다. 적용 범위를 측정하려면 -cover 플래그를 사용할 수 있습니다. 🎜rrreee🎜이 명령은 coverage.out이라는 적용 범위 구성 파일을 생성합니다. 🎜🎜🎜커버리지 보고서 보기🎜🎜🎜go tool Cover 명령을 사용하여 커버리지 보고서를 볼 수 있습니다. 🎜rrreee🎜이렇게 하면 구현되지 않은 코드 줄을 보여주는 기본 브라우저에서 커버리지 보고서가 열립니다. . 🎜🎜🎜실용 사례🎜🎜🎜배열에 있는 요소의 합을 계산하는 함수를 생각해 보세요. 🎜rrreee🎜🎜테스트 사례🎜🎜rrreee🎜🎜테스트를 실행하고 적용 범위를 확인하세요🎜🎜rrreee🎜이렇게 하면 적용 범위 보고서가 생성됩니다. SumArray 함수의 모든 코드 줄이 실행되었음을 보여줍니다. 🎜

위 내용은 golang 기능을 테스트하고 다루는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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