为从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定义。