【发布时间】:2014-10-09 22:26:23
【问题描述】:
我正在使用 Junit 测试一个委托类。 当我右键单击运行配置并将键值对放在环境选项卡中时,它工作正常。
我尝试通过静态块和@Before 方法设置它,但没有成功。 你能帮忙吗?
public MyClass{
public void myMethod(){
String tmp = configProps.getProperty("auto_commit_location");
String commitScriptLocation = System.getenv(tmp);
System.out.println(commitScriptLocation); --- This returns null
}
}
Junit Test:
public class AutoCommitControlDelegateTest {
static {
System.setProperty("auto_commit_location", "/tmp/");
}
@Autowired
private *******
//calls to my methods
【问题讨论】:
-
你能分享一些代码吗?更容易帮助解决您面前的具体问题...
-
我要做的是从 Junit 设置一个 env 变量,该变量将在 java 类中使用。我看了看答案。但它不起作用。
-
何时调用
String commitScriptLocation = System.getenv(tmp);行?它在静态块中吗?构造函数?其他方法? -
从非静态方法调用。
-
你在使用eclipse吗?您可以尝试设置一个 ant 任务来设置环境变量,然后运行您的 junit 代码。 Env 变量是只读的,因此您要么需要在 java 之外设置它们,要么在 Emil H 链接的问题中执行类似操作。
标签: junit environment-variables