다른 패키지를 제외하고 특정 패키지 테스트
Go의 "go test" 명령을 사용하면 개발자가 프로젝트 내에서 테스트를 실행할 수 있습니다. 그러나 특정 패키지나 디렉터리를 테스트하는 것이 불필요하거나 바람직하지 않은 시나리오가 있을 수 있습니다. 이 질문은 테스트에서 특정 디렉토리를 건너뛸 가능성을 탐구합니다.
답변:
1. 명시적 호출:
한 가지 방법은 테스트할 각 패키지에 대해 "go test"의 명시적 호출을 사용하는 것입니다. 예를 들어 제시된 구조를 보면
mypackage mypackage/net mypackage/other mypackage/scripts
다음 명령을 실행하여 "mypackage/scripts"를 제외하고 "mypackage", "mypackage/other" 및 "mypackage/net"에서 테스트를 실행할 수 있습니다. :
cd mypackage go test cd net go test cd other go test
디렉토리를 포함하여 테스트할 패키지의 쉼표로 구분된 목록을 제공하는 것도 가능합니다. 경로:
go test mypackage,mypackage/other,mypackage/net
2. 셸 기반 호출:
사용되는 셸에 따라 와일드카드 확장을 사용하여 여러 테스트를 호출할 수 있습니다. 예를 들어 Bash 또는 Zsh의 경우:
go test mypackage/{,other,net}
3. "go list"를 사용한 제외:
"go list"를 사용하면 일반적으로 테스트되는 모든 패키지를 나열할 수 있습니다. grep을 통해 출력을 파이핑하고 원치 않는 디렉터리를 제외하면 필터링된 목록을 얻을 수 있습니다. 그런 다음 이 목록을 "go test"로 전달할 수 있습니다:
go test $(go list ./... | grep -v directoriesToSkip)
4. Testing.Short() 플래그 사용:
길이나 비용으로 인해 테스트를 건너뛰는 경우 "testing.Short()" 플래그를 사용할 수 있습니다. 특정 조건을 충족하는 테스트는 "testing.Short()"를 확인하고 "t.Skip()"을 호출하여 테스트에서 제외할 수 있습니다.
"mypackage"에서 테스트를 건너뛰려면 다음을 사용할 수 있습니다.
go test -short mypackage/
또는
go test -short ./...
이러한 기술을 활용하여 개발자는 원하는 패키지에 대해 선택적으로 테스트를 실행하면서 동시에 다른 사람은 제외합니다. 이러한 유연성은 테스트 프로세스의 효율성과 편의성을 향상시킬 수 있습니다.
위 내용은 다른 패키지를 제외하면서 특정 패키지에 대해 Go 테스트를 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!