Golang 통합 테스트에 대한 테스트 적용 범위 결정
Golang에서 통합 테스트에 대한 테스트 적용 범위를 측정하는 것은 테스트가 서비스 외부에 있을 때 문제가 될 수 있습니다. 테스트되었습니다. 적절한 지시문 없이 go test -cover를 사용하면 부정확한 적용 범위 통계가 발생할 수 있습니다.
해결책: -coverpkg 지시문 활용
-coverpkg 지시문은 다음을 허용하여 이 문제를 해결합니다. 테스트가 해당 패키지의 일부인지 여부에 관계없이 적용 범위를 측정하려는 패키지를 지정할 수 있습니다. 다음은 mypackage 패키지에 대한 적용 범위를 측정하는 예입니다.
$ go test -cover -coverpkg mypackage ./src/api/...
이 명령은 mypackage 패키지를 사용하지만 패키지의 일부가 아닌 테스트를 제외하고 특별히 mypackage 패키지에 대한 적용 범위 통계를 제공합니다.
커버리지 보고서 비교
-coverpkg 지시문을 사용하거나 사용하지 않고 생성된 커버리지 보고서를 비교하여 대상 패키지에 대한 통합 테스트를 통해 달성한 실제 커버리지를 평가할 수 있습니다.
예:
-coverpkg 제외:
$ 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 포함:
$ 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
위의 예에서 -coverpkg를 사용하면 mypackage 패키지가 50.8%로 감소합니다. 이는 통합 테스트가 대상 패키지의 코드를 완전히 다루지 않음을 나타냅니다. 이 정보는 통합 테스트를 더욱 강화하여 보다 포괄적인 적용 범위를 달성하는 데 도움이 될 수 있습니다.
위 내용은 외부 패키지에 대한 Golang 통합 테스트 범위를 정확하게 측정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!