Specifying a custom log4j.properties file for all of JUnit tests run from Eclipse

后端 未结 2 1427
没有蜡笔的小新
没有蜡笔的小新 2020-11-27 07:51

I would like to specify a specific Eclipse VM argument to all of the JUnit tests I run from Eclipse i.e.

-Dlog4j.configuration=log4j-dev.propert         


        
相关标签:
2条回答
  • 2020-11-27 07:57

    Eclipse gives you the ability to define default VM arguments that are applied to any launch which uses that VM. You could use that in your situation by defining a JRE configuration with the VM argument you want for log4j and then setting up all JUnit launches to use that JRE definition.

    In Preferences, Java > Installed JREs and use the Add... button to define a JRE. In the JRE Definition dialog there is a field for Default VM arguments. Give this JRE definition a useful name such as "JDK 7 for JUnit" so that you can easily identify it.

    enter image description here

    Then in your JUnit launch(es), on the JRE tab, select the JRE definition you created.

    enter image description here

    0 讨论(0)
  • 2020-11-27 08:08

    You do not need to give the JVM a different property name. The logging code searches for the log4j.properties file using the classpath. So all you need to do is ensure that your test log4j.properties file is in a location that it will find before the release file.

    I use Maven, which lays out files in directories to make that easy. My release log4j.properties goes in the directory src/main/resources. My test version goes in src/test/resources. The Eclipse build path (classpath) is set up to search src/test/resources before src/main/resources, so your unit tests use the test file. The JAR (or WAR) build instructions use the files from src/main/resources.

    0 讨论(0)
提交回复
热议问题