LoginSignup
16
8

More than 3 years have passed since last update.

Go言語+VSCodeで"run test"を押したときにも.envの環境変数を適用

Last updated at Posted at 2019-08-29

はじめに

VSCodeでGoのコードを書いている場合、任意の関数・メソッド内で右クリックメニューから
Go: Generate Unit Tests For Function を押すだけでテーブルテスト形式のテストが
編集中ファイル名_test.go に自動生成され、さらにテスト関数の上に出るコードレンズのリンク
run test をポチるだけでテスト実行できます。
ドチャクソ便利ですね。
スクリーンショット 2019-08-30 2.47.48.png
↑これ

でも上記テストを実行する環境はVSCodeを開いた環境なので、
.env 等で環境変数を管理していると適用されません。

.envを使用するように設定を変更

Goのextentionには標準で設定項目が用意されているので、
そこに.envファイルのパスを指定するだけでOKです。

(開いているワークスペース直下に.envファイルが有ると仮定します。)
VSCodeの設定画面を開き、Go configurationの Test Env File
テキストフィールドに ${workspaceFolder}/.env と指定しましょう。

スクリーンショット 2019-08-30 2.38.10.png

これだけでOKです。

あ、これはユーザー設定というよりPJに依存した設定であることが多いと思うので
User SettingsではなくWorkspase Settingsの方に書いたほうがいいかもしれません。

おまけ

スクショに見えているTest Env Varsを編集でもテスト開始前に環境変数をセットできます。
また、Test Flagssettings.json上で編集("go.testFlags": ["-v"],を追加)して
-vをつけておけば、テスト中に標準出力に吐かれたログを見ることができるので
テストがサイレント落ちして理由わかんねーよって時には威力を発揮します。

16
8
1

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
16
8