>  기사  >  백엔드 개발  >  Go에서 주요 기능 테스트를 실행하는 중에 문제가 발생했습니다.

Go에서 주요 기능 테스트를 실행하는 중에 문제가 발생했습니다.

PHPz
PHPz앞으로
2024-02-11 13:00:08534검색

在 Go 中执行 main 函数测试时出现问题

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가 이전에 설정되었지만 지금은 적어도 테스트가 실행되는 셸에서는 설정되지 않습니다.

https://www.php.cn/link/905d8fc4ffb4275a428a84589810f8f4

-tags test 运行 go test 命令,则将遵守 init.go 文件顶部的构建约束,即 //go:build !test,并且该文件将从测试中省略建造。但默认情况下,没有“test”构建标签,因此如果没有 -tags test 参数,这些构建约束将被忽略,并且 init.go를 사용하면 해당 파일이 테스트 빌드에 포함됩니다. p>

위 내용은 Go에서 주요 기능 테스트를 실행하는 중에 문제가 발생했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제