为了账号安全,请及时绑定邮箱和手机立即绑定

在init()中验证环境

在init()中验证环境

Go
繁华开满天机 2021-05-21 16:15:27
我有一个软件包,可以验证过程中是否设置了特定的环境变量init(),否则会出现恐慌。我这样做是为了确保在启动时正确配置了该过程。问题在于这种方法实际上不是可测试的(使用_test.go文件),因为测试套件中不存在该环境。解决此问题的最佳方法是什么?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

您是否希望能够测试验证,还是只在测试文件中完全跳过它?两种方法都将使用相同的基本方法,即将验证代码分离到自己的文件中,该文件在测试期间不会生成。如果您只想在测试过程中完全跳过验证,请将整个init()函数放入该文件中。如果要测试验证,只需使验证代码调用您自己的垫片即可获取环境值,然后将垫片放入该非测试文件中,然后将单独的垫片放入仅在测试过程中进行编译的文件中。

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


查看完整回答
反对 回复 2021-05-24
  • 1 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信