0
0

【VSCode】Goのテストで事前に環境変数をセットする

Last updated at Posted at 2024-04-02

はじめに

VSCodeのエディタ上からGoのテストを行う際に、事前に環境変数をセットする方法を共有します。

例えば、以下のようなテストコードを想定します。

func TestEnvVar(t *testing.T) {
	// 環境変数から値を取得
	envVar := os.Getenv("MY_ENV_VAR")

	// 環境変数が設定されているかをチェック
	if envVar == "" {
		t.Error("Environment variable MY_ENV_VAR is not set")
	} else {
		fmt.Printf("MY_ENV_VAR value: %s\n", envVar)
	}
}

環境変数を取得し、値がセットされているかを確認するコードです。しかしながら、VSCodeのrun testからテストを実行すると、環境変数がテスト実行時に存在しないため、このテストは失敗します。

本来であれば、以下のように環境変数がセットされた状態でテストが実行されてほしいです。

MY_ENV_VAR="helloworld" go test

解決策

VSCodeの設定ファイルsettings.jsonに以下のように環境変数を記述することで解決されます。

{
  "go.testEnvVars": {
    "MY_ENV_VAR": "helloworld"
  }
}

この設定により、go test実行時にMY_ENV_VAR環境変数がhelloworldという値でセットされます。

また、.envファイルなどのファイルから環境変数をセットしたい場合は、次のように記述します。

{
  "go.testEnvFile": "${workspaceFolder}/.env"
}

この設定により、現在のワークスペースの.envファイルから環境変数が読み込まれます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0