Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

How to direct test output to the console

By default, test output goes to target/surefire-reports/. If you'd like to see it on the console, configure the Surefire plugin as follows:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <configuration>
       <reportFormat>brief</reportFormat>
       <useFile>false</useFile>
   </configuration>
</plugin>

How to skip all tests by default

Put this in your settings.xml:

     <!-- skip tests by default, but allow override on command line -->
     <profile>
       <id>skiptests</id>
       <activation>
         <property>
           <name>!maven.test.skip</name>
         </property>
       </activation>
       <properties>
         <maven.test.skip>true</maven.test.skip>
       </properties>
     </profile>

This will set maven.test.skip to true, as long as you don't set it on
the command line. The nice part about this technique is that it DOES
allow you to override it on the command line if you want to.

Surefire and the System Classloader

However you run Surefire (forked or not, with child delegation or not), the system classloader will not contain your test code. In
forked mode, it will only contain surefire and your testing framework. Surefire itself will create an isolated classloader that contains your
test code and its dependencies and run your tests from that classloader.

If you expect your code to work in anything but a basic Java application, do not depend on the system classloader.

  • No labels