[解決済み] JUnitを使用して環境変数に依存するコードをテストする方法は?
2022-04-20 20:33:09
質問
私は、環境変数を使用するJavaコードの一部を持っており、コードの動作はこの変数の値に依存します。私は、環境変数の異なる値でこのコードをテストしたいと思います。JUnitでこれを行うにはどうすればよいですか?
私が見たのは Javaで環境変数を設定するいくつかの方法 しかし、私は、特にテストが互いに干渉すべきではないことを考えると、それのユニットテストの側面にもっと興味があります。
どのように解決するのですか?
ライブラリ
システムLambda
はメソッド
withEnvironmentVariables
を使用して環境変数を設定します。
import static com.github.stefanbirkner.systemlambda.SystemLambda.*;
public void EnvironmentVariablesTest {
@Test
public void setEnvironmentVariable() {
String value = withEnvironmentVariable("name", "value")
.execute(() -> System.getenv("name"));
assertEquals("value", value);
}
}
Java5~7では、ライブラリ
システムルール
というJUnitルールがあります。
EnvironmentVariables
.
import org.junit.contrib.java.lang.system.EnvironmentVariables;
public class EnvironmentVariablesTest {
@Rule
public final EnvironmentVariables environmentVariables
= new EnvironmentVariables();
@Test
public void setEnvironmentVariable() {
environmentVariables.set("name", "value");
assertEquals("value", System.getenv("name"));
}
}
完全な開示:私は両方のライブラリの作者です。
関連
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Dockerコンテナに環境変数を渡すにはどうしたらいいですか?
-
[解決済み] Mavenが実行するJUnitテストを見つけ出せない
-
[解決済み] Javaから環境変数を設定するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
サーブレットクラスのインスタンス化エラーの解決法
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
このラインで複数のマーカーを解決する方法
-
ローカルリソースのロードが許可されていない場合の解決策
-
[解決済み] Javaから環境変数を設定するにはどうしたらいいですか?