Golang 기능의 테스트 및 적용 범위를 개선하는 방법은 무엇입니까?

王林
풀어 주다: 2024-04-28 08:45:01
원래의
1119명이 탐색했습니다.

Golang 기능의 테스트 적용 범위를 개선하는 방법은 무엇입니까? 적용 범위 측정: go test -cover 명령을 사용합니다. 테스트 케이스 예외 추가: 실행되지 않은 코드 경로에 대한 테스트 케이스 예외를 추가합니다. 적용 범위 프로필 사용: go test -coverprofile=cover.out을 사용하여 적용 범위 프로필을 만듭니다. 커버 도구 사용: 자세한 커버리지 보고서를 보려면 go tool Cover -html=cover.out을 사용하세요.

Golang 기능의 테스트 및 적용 범위를 개선하는 방법은 무엇입니까?

Golang 함수의 테스트 적용 범위를 개선하는 방법

소개

테스트 적용 범위는 테스트에서 애플리케이션의 어떤 부분이 실행되는지 측정합니다. 높은 적용 범위는 애플리케이션의 코드 경로 대부분이 테스트 중에 실행되었음을 의미하므로 소프트웨어의 신뢰성에 대한 신뢰도가 높아집니다. 이 문서에서는 Golang 기능의 테스트 적용 범위를 개선하는 방법을 안내합니다.

커버리지 측정

커버리지를 측정하려면 go test -cover 명령을 사용할 수 있습니다. 이 명령은 테스트 실행 후 적용 범위 보고서를 인쇄합니다. go test -cover 命令。该命令将在测试运行后打印覆盖率报告。

go test -cover
로그인 후 복사

实用案例

考虑以下 Golang 函数:

func Sum(a, b int) int {
    return a + b
}
로그인 후 복사

初始测试覆盖率报告如下:

coverage: 50.0% of statements
로그인 후 복사

该覆盖率表明只有 50% 的代码在测试中得到了执行。要提高覆盖率,需要添加测试用例外界因素,以执行未执行的代码路径。

添加测试用例外界因素

对于 Sum 函数,可以添加如下测试用例外界因素,以覆盖未执行的代码路径:

func TestSumNegative(t *testing.T) {
    result := Sum(-1, -2)
    if result != -3 {
        t.Errorf("Expected -3, got %d", result)
    }
}
로그인 후 복사

这个测试用例外界因素测试了函数是否处理负数输入。添加此测试用例外界因素后,覆盖率报告将如下所示:

coverage: 100.0% of statements
로그인 후 복사

使用覆盖率配置文件

为了更容易地跟踪与覆盖率相关的更改,可以使用覆盖率配置文件。覆盖率配置文件包含了覆盖率数据,可用于在不同的测试运行之间进行比较。要创建覆盖率配置文件,请使用 go test -coverprofile=cover.out 命令。

go test -coverprofile=cover.out
로그인 후 복사

使用 cover 工具

cover 工具是一个交互式工具,使您可以浏览代码覆盖率信息。要使用 cover

go tool cover -html=cover.out
로그인 후 복사

실용 사례

다음 Golang 함수를 고려해보세요. rrreee

초기 테스트 커버리지 보고서는 다음과 같습니다.

rrreee

이 커버리지는 테스트에서 코드의 50%만 실행되었음을 나타냅니다. 적용 범위를 향상하려면 실행되지 않는 코드 경로를 실행하는 테스트 사례 예외를 추가해야 합니다. 🎜🎜🎜테스트 사례 예외 추가🎜🎜🎜Sum 함수의 경우 실행되지 않은 코드 경로를 포함하기 위해 다음 테스트 사례 예외를 추가할 수 있습니다. 🎜rrreee🎜이 테스트 사례 예외는 함수 Handle negative가 테스트되는지 여부를 테스트합니다. 입력. 이 테스트 사례 예외를 추가한 후 적용 범위 보고서는 다음과 같습니다. 🎜rrreee🎜🎜Using Coverage Profiles🎜🎜🎜 적용 범위 관련 변경 사항을 더 쉽게 추적하려면 적용 범위 프로필을 사용할 수 있습니다. 커버리지 프로필에는 다양한 테스트 실행 간의 비교에 사용할 수 있는 커버리지 데이터가 포함되어 있습니다. 커버리지 프로필을 생성하려면 go test -coverprofile=cover.out 명령을 사용하세요. 🎜rrreee🎜🎜cover 도구 사용 🎜🎜🎜 cover 도구는 코드 검사 정보를 찾아볼 수 있는 대화형 도구입니다. cover 도구를 사용하려면 다음 명령을 실행하세요. 🎜rrreee🎜 그러면 각 기능과 방법에 대한 자세한 적용 범위 데이터를 보여주는 HTML 보고서가 기본 브라우저에서 열립니다. 🎜🎜🎜요약🎜🎜🎜테스트 사례 예외를 추가하고 적용 범위 프로필을 사용하면 Golang 기능의 테스트 적용 범위를 향상할 수 있습니다. 높은 적용 범위는 소프트웨어의 신뢰성에 대한 신뢰도를 높이고 코드에서 테스트되지 않은 영역을 식별하는 데 도움이 됩니다. 🎜

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

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