Go 통합 테스트에서 테스트 커버리지 측정
Go REST API에서 통합 테스트를 수행할 때 go test -cover를 사용하면 오해의 소지가 있는 결과가 나올 수 있습니다. 0% 테스트 범위. 서비스 패키지 외부에 있는 테스트는 go툴 커버에서 인식되지 않기 때문입니다.
그러나 -coverpkg 지시어는 패키지 여부에 관계없이 특정 패키지 내에서 테스트 커버리지를 측정하여 솔루션을 제공합니다. 테스트는 해당 패키지에 속합니다. 이를 통해 다음과 같은 서비스 패키지의 정확한 적용 범위 보고가 가능합니다.
$ go test -cover -coverpkg mypackage ./src/api/... ok /api 0.190s coverage: 50.8% of statements in mypackage ok /api/mypackage 0.022s coverage: 0.7% of statements in mypackage
반대로 go test -cover를 사용하면 다음이 보고됩니다.
$ go test -cover ./src/api/... ok /api 0.191s coverage: 71.0% of statements ok /api/mypackage 0.023s coverage: 0.7% of statements
이는 다음에서 -coverpkg의 효율성을 보여줍니다. 커버리지 측정을 원하는 패키지(이 경우 mypackage)로 분리합니다. 이는 통합 테스트 적용 범위에 대한 최적의 접근 방식은 아닐 수 있지만 특정 모듈의 코드 적용 범위에 대한 귀중한 통찰력을 제공합니다.
위 내용은 Go 통합 테스트에서 커버리지를 어떻게 정확하게 측정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!