【发布时间】:2019-07-04 12:46:14
【问题描述】:
我正在研究 Junit5 。我的 java 代码使用 System.getenv("demoVar") 来访问 environment variable 。那么如何在 jUnit5 测试类中设置这个环境变量,以便我的代码在测试过程中可以访问这个环境变量的值。
【问题讨论】:
-
为什么它被标记为重复?重复问题中的答案是关于 Java 系统属性。这个是关于环境变量的。 System.getenv 与 System.getProperty 完全不同。尝试使用 System.setEnv("", "") ! :) 所以这个回答对于这个问题是无效的。正确的响应应该是 JUnit5 中系统规则的替代方案
-
这显然不是@angelcervera 提到的重复
-
使用 Java 8,您可以更改调用 System.getenv() 的方法,以便它使用 Function
。在您的生产代码中,您将使用 System::getenv,在您的测试代码中,您可以在您填充了测试值的内部映射上使用 Map::get。