Go 내에서 몇 가지 다른 테스트 패키지 명명 전략을 보았고 각각의 장단점과 사용해야하는 것을 알고 싶었습니다.
전략 1 :
파일 이름 : github.com/user/myfunc.go
package myfunc
테스트 파일 이름 : github.com/user/myfunc_test.go
package myfunc
예제는 bzip2 를 참조하십시오 .
전략 2 :
파일 이름 : github.com/user/myfunc.go
package myfunc
테스트 파일 이름 : github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
예는 와이어 를 참조하십시오 .
전략 3 :
파일 이름 : github.com/user/myfunc.go
package myfunc
테스트 파일 이름 : github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
예는 문자열 을 참조하십시오 .
Go 표준 라이브러리는 전략 1과 2를 혼합하여 사용하는 것 같습니다. 세 가지 중 어느 것을 사용해야합니까? package *_test
내 패키지 비공개 메서드를 테스트 할 수 없다는 의미로 내 테스트 패키지에 추가하는 것은 고통 스럽지만 내가 알지 못하는 숨겨진 이점이있을 수 있습니까?