はじめに
VSCodeでGoのコードを書いている場合、任意の関数・メソッド内で右クリックメニューから
Go: Generate Unit Tests For Function
を押すだけでテーブルテスト形式のテストが
編集中ファイル名_test.go
に自動生成され、さらにテスト関数の上に出るコードレンズのリンク
run test
をポチるだけでテスト実行できます。
ドチャクソ便利ですね。
↑これ
でも上記テストを実行する環境はVSCodeを開いた環境なので、
.env
等で環境変数を管理していると適用されません。
.envを使用するように設定を変更
Goのextentionには標準で設定項目が用意されているので、
そこに.envファイルのパスを指定するだけでOKです。
(開いているワークスペース直下に.env
ファイルが有ると仮定します。)
VSCodeの設定画面を開き、Go configurationの Test Env File
テキストフィールドに ${workspaceFolder}/.env
と指定しましょう。
これだけでOKです。
あ、これはユーザー設定というよりPJに依存した設定であることが多いと思うので
User SettingsではなくWorkspase Settingsの方に書いたほうがいいかもしれません。
おまけ
スクショに見えているTest Env Vars
を編集でもテスト開始前に環境変数をセットできます。
また、Test Flags
をsettings.json
上で編集("go.testFlags": ["-v"],
を追加)して
-v
をつけておけば、テスト中に標準出力に吐かれたログを見ることができるので
テストがサイレント落ちして理由わかんねーよって時には威力を発揮します。