Go 유닛 테스트에서 명령줄 인수 테스트
질문에서 Go 유닛의 명령줄 플래그 사용과 관련된 문제를 언급하셨습니다. 테스트. 다양한 애플리케이션 모듈 세트를 사용하는 테스트가 포함된 모듈식 애플리케이션이 있으며 그 중 일부는 명령줄 플래그를 통해 조정됩니다. 그러나 사용자 정의 명령줄 플래그를 사용하여 테스트를 실행하면 플래그가 정의되지 않았다는 오류가 발생합니다.
기본적인 문제는 테스트 실행 파일이 하나 또는 하나가 아닌 한 모든 명령줄 매개변수를 적용한다는 것입니다. 그 중 더 많은 부분이 무시됩니다. 귀하의 경우에는 여러 테스트가 있으며 그 중 일부는 사용자 정의 플래그를 사용하지만 다른 일부는 사용하지 않습니다.
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
go test -test.v ./testfile1_test.go -gamedir.custom=c:/resources go test -test.v ./testfile2_test.go
var customPath string func init() { flag.StringVar(&customPath, "gamedir.custom", "", "Custom game resources directory") } func TestFunc(t *testing.T) { if testing.Short() { return } t.Skip("Skipping this test as it uses `-gamedir.custom` flag") }
testing.Short() 검사는 테스트가 실행되는지 확인하는 데 사용됩니다. 일반적으로 모든 테스트를 동시에 실행하는 경우인 짧은 모드에서 실행됩니다. 테스트가 단기 모드로 실행되는 경우 건너뜁니다. 그렇지 않으면 -gamedir.custom 플래그가 사용되지 않기 때문에 테스트를 건너뛰게 됩니다.
위 내용은 Go 단위 테스트에서 명령줄 인수를 효과적으로 테스트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!