JUnit5なテスト実行時に環境変数を設定(クリア)できる、拡張のGitHub - junit-pioneer/junit-pioneer: JUnit 5 Extension Packを試してみました。
テスト実行時に環境変数を設定する
環境変数の設定は@SetEnvironmentVariable
アノテーションで行います。
テストクラス、テストメソッド両方に指定ができるので、どのようなスコープで設定するかで使い分けることができるようになっています。
@SetEnvironmentVariable(key = "k1", value = "v1") class HogeTest { @Test @SetEnvironmentVariable(key = "k2", value = "v2") fun 環境変数を設定してみる() { println("System.getenv(\"k1\") = ${System.getenv("k1")}") println("System.getenv(\"k2\") = ${System.getenv("k2")}") } }
実行結果
設定した環境変数が設定され、参照できているのが確認できます。
System.getenv("k1") = v1 System.getenv("k2") = v2
テスト実行後に環境変数をクリアする
環境変数のクリアは@ClearEnvironmentVariable
アノテーションで行います。
@SetEnvironmentVariable
と同じように、テストクラスとテストメソッドの両方に指定が可能となっています。
@Test @SetEnvironmentVariable(key = "k2", value = "v2") @ClearEnvironmentVariable(key = "k2") fun 環境変数を設定してみる() { println("System.getenv(\"k1\") = ${System.getenv("k1")}") println("System.getenv(\"k2\") = ${System.getenv("k2")}") }
おわり