When you want to set an environment variable in a Go test, you can use the os.Setenv function. If you have multiple tests, you want to ensure the environment variable is unset after the test. This can be done with a defer call to the os.Unsetenv function:

package main_test

import (


func Test_UsingEnvvar(t *testing.T) {

    os.Setenv("ENV_VAR", "value")
    defer os.Unsetenv("ENV_VAR")

    actual := os.Getenv("ENV_VAR")
    assert.Equals(t, "value", actual)


Related Posts

  • Assert vs require in testify
  • Handling Unix timestamps in JSON
  • Parsing a key pair from a PEM file in Go
  • Pointer vs value receivers
  • Testing exceptions in pytest