> 백엔드 개발 > Golang > Go에서 분리된 테스트 파일이 있는 패키지의 적용 범위를 어떻게 측정할 수 있나요?

Go에서 분리된 테스트 파일이 있는 패키지의 적용 범위를 어떻게 측정할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-10-27 20:18:30
원래의
841명이 탐색했습니다.

 How Can I Measure Coverage for a Package with Separated Test Files in Go?

분리된 테스트 파일로 패키지 커버리지 테스트

많은 테스트 파일로 코드베이스를 구성할 때 테스트와 실제 테스트를 분리하는 것이 유리할 수 있습니다. 명확성과 모범 사례 준수를 위한 코드베이스입니다. 이러한 시나리오에서는 테스트 파일이 테스트 중인 코드와 다른 패키지에 있을 수 있습니다.

테스트 중인 실제 패키지에 대한 적용 범위 통계를 얻을 때 한 가지 잠재적인 문제가 발생할 수 있습니다. 기본적으로 테스트는 해당 패키지에 대해서만 적용 범위를 제공합니다. 이 문제는 코드와 테스트 파일이 동일한 패키지 내에 공존해야 한다는 Go의 접근 방식에서 비롯됩니다.

해결책

다행히도 Go는 이 딜레마에 대한 해결책을 제공합니다.

go test -cover -coverpkg "api_client" "api_client_tests"
로그인 후 복사

"-coverpkg" 플래그를 지정하면 Go가 지정된 패키지(이 경우 "api_client")에 대한 적용 범위를 측정하도록 지시할 수 있습니다. ), 별도의 패키지("api_client_tests")에서 테스트를 실행하는 동안. 이를 통해 테스트 파일과 통합할 필요 없이 API 클라이언트 패키지의 적용 범위를 정확하게 확인할 수 있습니다.

대체 접근 방식

분리된 테스트 패키지를 사용하는 동안 조직 측면에서 이점을 제공하지만 이 접근 방식은 코드와 테스트를 구성하는 기존 Go 방식에서 벗어났다는 점에 주목할 가치가 있습니다. 블랙박스 테스트가 주요 목표인 경우 공개 패키지 API에만 테스트에 액세스할 수 있는 경우 대체 방법을 사용할 수 있습니다.

  1. 테스트 파일을 코드와 동일한 패키지 내에 유지하세요.
  2. "내부" 가시성 수정자를 사용하여 패키지 전용 메서드 및 변수에 대한 액세스를 제한하여 패키지의 공개 API만 테스트에 노출되도록 합니다.

위 내용은 Go에서 분리된 테스트 파일이 있는 패키지의 적용 범위를 어떻게 측정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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