如何通过 Junit 设置环境变量?

use*_*871 1 junit environment-variables

我正在用 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
Run Code Online (Sandbox Code Playgroud)

use*_*871 6

嗯,

我改变了这一行:

String commitScriptLocation = System.getenv(tmp);
Run Code Online (Sandbox Code Playgroud)

对此:

String commitScriptLocation = System.getProperty(tmp);
Run Code Online (Sandbox Code Playgroud)

它有效。:( 我花了 2 个小时来解决这个问题。