为从Eclipse运行的所有JUnittesting指定自定义log4j.properties文件

我想指定一个特定的Eclipse VM argument给我从Eclipse运行的所有JUnittestingie

 -Dlog4j.configuration=log4j-dev.properties 

这是因为我想要一个特定的log4jconfiguration文件被我所有的JUnittesting而不是默认的log4j.properties文件所取代。

到目前为止,我必须为每个JUnittesting指定上面的VM argument (在Run Configurations -> Arguments -> VM arguments ),因为我有很多testing,所以很麻烦。

您不需要给JVM一个不同的属性名称。 日志代码使用类pathsearchlog4j.properties文件。 因此,您只需确保您的testinglog4j.properties文件位于发行版文件之前的位置。

我使用Maven,它将文件放在目录中,以方便使用。 我的版本log4j.properties进入目录src/main/resources 。 我的testing版本在src/test/resources 。 Eclipse构buildpath(classpath)设置为在src/main/resources之前searchsrc/test/resources src/main/resources ,因此您的unit testing使用testing文件。 JAR(或WAR)构build指令使用src/main/resources的文件。

Eclipse使您能够定义适用于使用该VM的任何启动的默认VM参数。 您可以在您的情况下使用它,方法是使用所需的VM参数定义JREconfiguration,然后设置所有JUnit启动以使用该JRE定义。

在“首选项”中,selectJava > 已安装的JRE,然后使用“ 添加…”button定义JRE。 在“ JRE定义”对话框中, 默认VM参数有一个字段。 给这个JRE定义一个有用的名字,比如“JDK 7 for JUnit”,这样你就可以很容易地识别它。

在这里输入图像描述

然后在您的JUnit启动中,在JRE选项卡上select您创build的JRE定义。

在这里输入图像描述