PHP 편집기 Xigua에서는 Go 언어 개발 시 테스트용 주요 기능을 실행할 때 문제가 자주 발생합니다. 이러한 상황으로 인해 프로그램이 제대로 작동하지 않거나 예상치 못한 결과가 발생할 수 있습니다. 이 문제를 해결하려면 가능한 원인을 주의 깊게 해결하고 코드를 수정하기 위한 적절한 조치를 취해야 합니다. 이 문서에서는 개발자가 이러한 상황에 더 잘 대처하는 데 도움이 되는 몇 가지 일반적인 문제와 해결 방법을 소개합니다.
몇 달 전에 이 테스트를 작성했는데 오류 없이 성공적으로 실행되었으며 테스트에서 핸들러 함수만 호출했기 때문에 init() 함수가 실행되지 않았습니다. 하지만 지금은 실패하고 다음 오류가 발생합니다.
으아아아테스트가 init() 함수를 호출한다는 것을 알고 있지만 더 일찍 호출하면 안 됩니다. 여기서 이해해야 할 것이 빠졌습니까?
init.go
으아아아main.go
으아아아main_test.go
/usr/local/opt/go/libexec/bin/go tool test2json -t /private/var/folders/wt/fc27nzn51rdbvwvjzkl05hlc0000gs/T/GoLand/___TestHandleRequest_in_next_api_cmd_getAllRawTransportOrders.test -test.v -test.paniconexit0 -test.run ^\QTestHandleRequest\E$ {"level":"fatal","msg":"no configuration found: not set","time":"2023-08-27T22:48:03+05:30"} Process finished with the exit code 1
named init
(全部小写)的顶级函数总是,并且总是在测试之前执行。 init
现在失败的原因,即使以前没有,现在看来,是环境的变化;即在 CONFIG_ID
가 이전에 설정되었지만 지금은 적어도 테스트가 실행되는 셸에서는 설정되지 않습니다.
//m.sbmmt.com/link/905d8fc4ffb4275a428a84589810f8f4
-tags test
运行 go test
命令,则将遵守 init.go
文件顶部的构建约束,即 //go:build !test
,并且该文件将从测试中省略建造。但默认情况下,没有“test”构建标签,因此如果没有 -tags test
参数,这些构建约束将被忽略,并且 init.go
를 사용하면 해당 파일이 테스트 빌드에 포함됩니다. p>
위 내용은 Go에서 주요 기능 테스트를 실행하는 중에 문제가 발생했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!