> 백엔드 개발 > Golang > 가져온 패키지에서 테스트 코드를 효과적으로 재사용하는 방법은 무엇입니까?

가져온 패키지에서 테스트 코드를 효과적으로 재사용하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-04 09:09:02
원래의
226명이 탐색했습니다.

How to Reuse Test Code in Imported Packages Effectively?

가져온 패키지에서 재사용 가능한 코드 테스트

여러 패키지와 테스트 파일로 작업할 때 다음 패키지의 유틸리티 기능을 재사용해야 하는 경우가 흔합니다. 하나의 테스트에서 다른 테스트로. 다음 디렉터리 계층 구조를 고려하세요.

/<br>|-- main.go // 패키지 main, 요청을 수락하고 특정 작업을 완료하기 위해 pkg1에서 C/U API를 호출하는 HTTP 서버<br>|-- main_test.go // pkg1_test에서 VeryfyTaskNumber를 호출하려고 합니다<br>|-- pkg1 // pkg1 패키지, 안전을 위해 내보내지 않은 검색 및 삭제 기능이 있는 CRUD API</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">|-- pkg1_test.go // contains a function verifyTaskNumber(*testing.T, taskName string, expectedNo int) which calls internal Retrieve function in pkg1
로그인 후 복사

이 시나리오에서 main_test.go는 pkg1_test.go에서 verifyTaskNumber()에 액세스해야 하며 다음 과제를 제기해야 합니다. 가져온 패키지의 테스트 코드를 어떻게 효과적으로 재사용할 수 있습니까?

두 가지 일반적인 접근 방식은 다음과 같습니다.

  1. 가져온 패키지로 함수 이동: 이 방법을 사용하면 프로젝트의 모든 테스트 파일에서 함수를 사용할 수 있습니다. 그러나 컴파일된 바이너리에 함수가 포함될 수 있으므로 이 경우에는 바람직하지 않습니다.
  2. 유틸리티 테스트 패키지 생성: 이 접근 방식에는 함수를 별도의 테스트 유틸리티 패키지로 이동하고 관련 테스트 파일로 가져옵니다. 이 솔루션의 단점은 유틸리티 패키지의 기능이 가져온 패키지의 내부 메서드에 의존할 수 있어 액세스할 수 없다는 것입니다.

더 효과적인 솔루션은 내부 메서드의 출력을 저장하는 것입니다. 가져온 패키지의 기능을 지원 파일에 추가합니다. 그런 다음 유틸리티 패키지의 해당 함수가 호출될 때 이 파일을 로드할 수 있습니다.

예를 들어 pkg1에 내보내지 않은 Retrieve() 함수가 있는 경우 유틸리티 패키지에서 지원 파일을 로드하는 함수를 생성할 수 있습니다. 그리고 Retrieve()를 호출합니다. 이 접근 방식을 사용하면 유틸리티 패키지의 기능이 모듈화나 빌드 아티팩트를 손상시키지 않고 가져온 패키지의 내부 메서드에 액세스할 수 있습니다.

위 내용은 가져온 패키지에서 테스트 코드를 효과적으로 재사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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