dqwh0108 2015-11-02 06:35
浏览 841
已采纳

为Go测试设置环境变量

I am trying to run my Go tests like this, setting an environment variable:

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

Inside my tests I do:

log.Print(os.Getenv("FOO"))

Which returns an empty string. Why is FOO not set?

  • 写回答

3条回答 默认 最新

  • dtpn60029 2015-11-02 06:38
    关注
    FOO=BAR bash -c 'go list ./... | grep -v vendor | xargs -n1 go test -timeout=3s'
    

    A good explanation why the original command doesn't work can be found in the answer to the question: https://unix.stackexchange.com/questions/134735/environment-variables-are-not-set-when-my-function-is-called-in-a-pipeline

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?