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

为 Go 测试设置环境变量

为 Go 测试设置环境变量

Go
慕神8447489 2021-11-22 10:37:44
我正在尝试像这样运行我的 Go 测试,设置一个环境变量:FOO=BAR go list ./... | grep -v vendor | xargs -n1 go test -timeout=3s在我的测试中,我这样做:log.Print(os.Getenv("FOO"))它返回一个空字符串。为什么没有设置FOO?
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

FOO=BAR bash -c 'go list ./... | grep -v vendor | xargs -n1 go test -timeout=3s'

可以在问题的答案中找到为什么原始命令不起作用的一个很好的解释:https : //unix.stackexchange.com/questions/134735/environment-variables-are-not-set-when-my-function -被称为管道中


查看完整回答
反对 回复 2021-11-22
?
慕侠2389804

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

我喜欢在命令模式下使用godotenv

godotenv -f ./.env go test ./internal/... -cover


查看完整回答
反对 回复 2021-11-22
?
DIEA

TA贡献1820条经验 获得超2个赞

这不是为管道设置变量的方式。看:

 FOO=BAR echo "AAA" | FOO=WAZ printenv | grep FOO


查看完整回答
反对 回复 2021-11-22
  • 3 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

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