Go에서 가져온 패키지의 테스트 코드 재사용
디렉토리 구조에서 원하는 테스트 유틸리티 함수가 pkg1_test.go에 있습니다. pkg1을 가져오는 main_test.go에서 사용합니다. 그러나 pkg1_test.go의 함수는 pkg1에서 내보내지 않은 함수를 사용하므로 패키지 외부에서는 사용할 수 없습니다.
다음 접근 방식을 고려하세요.
함수를 pkg1.go로 이동
함수를 pkg1.go로 이동하면 main_test.go에서 액세스할 수 있지만 go 빌드로 생성된 바이너리에 함수가 포함될 수 있습니다. 이는 테스트 전용 함수에는 바람직하지 않습니다.
별도의 테스트 유틸리티 패키지 생성
함수를 별도의 테스트 유틸리티 패키지로 이동하고 *_test에서 수동으로 가져옵니다. go 파일이 이상적인 것 같습니다. 그러나 함수를 사용하려면 여전히 내보낼 수 없는 pkg1의 내부 메서드에 액세스해야 합니다.
하이브리드 접근 방식
특정 시나리오의 경우 하이브리드 접근 방식은 다음을 제공합니다. 해결 방법:
pkg1_test.go에서 다음과 같은 기능을 추가합니다.
<code class="go">func getPrivateData() []byte { // Code to get internal data from pkg1 }</code>
이 접근 방식을 사용하면 테스트 유틸리티 기능을 프로덕션 코드와 별도로 유지하고 내보내지 않은 기능 문제를 방지하면서 테스트 유틸리티 기능을 재사용할 수 있습니다.
위 내용은 내보내지 않은 함수를 사용하여 Go에서 가져온 패키지의 테스트 코드를 재사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!