"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go 바이너리에 대한 통합 테스트에서 코드 적용 범위를 어떻게 캡처할 수 있습니까?

Go 바이너리에 대한 통합 테스트에서 코드 적용 범위를 어떻게 캡처할 수 있습니까?

2024년 11월 18일에 게시됨
검색:574

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Go 바이너리에서 코드 커버리지 캡처

단위 테스트를 실행할 때 코드 커버리지 캡처는 간단합니다. 그러나 바이너리 자체에 대한 통합 테스트 중에 적용 범위 측정 항목을 수집하는 것은 어려울 수 있습니다. 이 장애물을 극복할 수 있는 방법이 있습니까?

통합 테스트 적용 범위의 필요성

통합 테스트는 단위 테스트만 사용할 때보다 코드 적용 범위에 대한 더 포괄적인 보기를 제공합니다. 실제 입력에 대해 바이너리를 실행함으로써 다양한 조건에서 코드가 어떻게 작동하는지 평가할 수 있습니다.

도전

Go 적용 범위 도구는 다음과 연계해서만 작동합니다. 테스트 패키지. 이로 인해 일반적으로 이 프레임워크에 맞지 않는 통합 테스트에 문제가 발생합니다.

해결책: Go 테스트 프레임워크의 통합 테스트

통합 테스트에서 적용 범위를 캡처하려면 , 어떻게든 테스트 패키지에 통합해야 합니다.

  1. 테스트 파일 만들기: 고루틴의 main() 함수.
func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}
  1. 통합 테스트 실행: exec.Cmd를 사용하여 이전에 생성된 고루틴 외부에서 통합 테스트를 실행합니다.
  2. 커버리지 통계 수집: 마지막으로 커버리지 도구를 사용하여 커버리지 통계를 수집합니다.

기타 리소스

이 주제에 대한 이전 토론은 유사한 접근 방식을 탐색하는 "외부 테스트를 통한 적용 범위" 기사를 참조하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3