gpt4 book ai didi

go - 在 init() 中验证环境

转载 作者:IT王子 更新时间:2023-10-29 00:45:47 24 4
gpt4 key购买 nike

我有一个包可以验证进程是否在 init() 上设置了特定的环境变量,否则它会崩溃。

我这样做是为了确保流程在启动时正确配置。

问题是这种方法不是真正可测试的(使用 _test.go 文件),因为测试套件中不存在环境。

解决这个问题的最佳方法是什么?

最佳答案

您希望能够测试验证,还是在测试文件中完全跳过它?无论哪种方式都将使用相同的基本方法,即将验证代码分离到它自己的文件中,该文件不会在测试期间构建。如果您只想在测试期间完全跳过验证,请将整个 init() 函数放入该文件。如果您想测试验证,只需让验证代码调用您自己的 shim 来获取环境值,然后将您的 shim 放入该非测试文件中,然后将单独的 shim 放入仅在测试期间编译的文件中。

您可以使用 build constraint 控制文件是否在测试期间构建在文件头中。 IIRC,运行测试会应用 test 约束,因此您可以检查它。

关于go - 在 init() 中验证环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com