如何在Eclipse上测试时传递-D System属性?

Dev*_*dar 91 java eclipse

我正在Windows上开发Eclipse,而Code则部署在Unix上.我使用System.getProperty("key")获取系统属性值...我如何在Eclipse中传递它,以便我不必修改代码,它可以在Eclipse上进行调试?

有什么建议?

Bom*_*mbe 129

运行 - >运行配置,选择项目,第二个选项卡:"参数".顶部框用于您的程序,底部框用于VM参数,例如-Dkey=value.

  • 如果你和我一样厚 - *-D参数进入虚拟参数*的**底部**,**不是**在程序的args的顶部框中./叹 (23认同)
  • 是否有任何方法可以将此设置为默认情况下,因此您不必为多次测试重复手动输入? (6认同)
  • 顶部的框是传递给main方法的String [] args的。 (2认同)

mad*_*adx 37

您可以使用java System.properties,从eclipse中使用它们,您可以:

  1. 像这样添加-Dlabel="label_value"测试的VM参数Run Configuration:

eclipse_vm_config

  1. 然后运行测试:

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 最后它应该通过测试并在控制台中输出:

    label_value
    
    Run Code Online (Sandbox Code Playgroud)


izb*_*izb 13

您可以向运行配置添加命令行参数.只需编辑运行配置并将-Dmyprop = value(或其他)添加到VM Arguments Box.

  • 如果您在"参数"选项卡下显示"命令行参数框"时表示"程序参数框" - 不起作用!必须进入Bombe上面提到的"VM Arguments Box". (4认同)