>백엔드 개발 >Golang >Go의 하위 디렉터리에서 테스트를 실행할 수 있나요?

Go의 하위 디렉터리에서 테스트를 실행할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 11:25:10592검색

Can You Run Tests in Subdirectories in Go?

Go의 하위 디렉토리에서 테스트 실행

하위 디렉토리에 테스트와 예제를 배치하여 작업공간을 정리하는 것이 효율적인 접근 방식입니다. 이 기사에서는 Go에서 이를 달성하는 데 필요한 타당성과 단계를 살펴봅니다.

하위 디렉터리에서 테스트

Go를 사용하면 "를 사용하여 전체 경로를 지정하여 하위 디렉터리에서 테스트를 실행할 수 있습니다. ./...":

go test ./...

이 명령은 모든 하위 디렉터리에서 패키지를 검색하고 그 안에 있는 테스트를 실행합니다. 그러나 고려해야 할 몇 가지 의미가 있습니다.

패키지 액세스 및 가시성

테스트 파일을 하위 디렉터리에 배치할 때 내보낸 변수와 함수 앞에 패키지 이름을 붙이는 것이 중요합니다. 테스트 파일이 내보낸 콘텐츠에 액세스하려면 내보내지 않은 회원은 접근할 수 없습니다.

go test vs. go test -cover

go test -cover 사용 시 코드 적용을 위해서는 -coverpkg=./...을 사용하여 수집하는 것이 중요합니다. 모든 패키지의 커버리지 데이터:

go test -coverpkg=./... ./...

통합 테스트

Go 1.20부터 이제 커버리지 프로파일링에 통합 테스트가 지원됩니다. 실행 파일을 빌드하는 동안 -cover를 사용하고 적용 범위 데이터의 위치를 ​​지정하려면 GOCOVERDIR을 사용하세요.

go build -cover -o myprogram.exe myprogram.go
mkdir somedata
GOCOVERDIR=somedata ./myprogram.exe

대체 접근 방식

테스트를 하위 디렉터리에 배치하지 않고도 테스트를 다른 패키지로 분리할 수도 있습니다. 예를 들어, "foo" 패키지에 대한 테스트는 동일한 디렉터리 내의 "foo_test" 패키지에 상주할 수 있으므로 "foo"의 내보낸 멤버에만 액세스할 수 있습니다.

결론

하위 디렉터리에서 테스트를 실행하는 것은 기술적으로 가능하지만 구성 및 접근성 측면에서 모범 사례는 아닐 수 있습니다. 동일한 디렉토리 내에 별도의 테스트 패키지를 생성하는 대체 접근 방식은 테스트를 보다 효율적으로 관리하기 위한 실행 가능한 옵션입니다.

위 내용은 Go의 하위 디렉터리에서 테스트를 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.