Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Maven Skipping Tests

DZone 's Guide to

Maven Skipping Tests

In this quick article, we will look into different ways to skip tests in maven applications.

· Java Zone ·
Free Resource

Sometimes, we need to disable JUnit test cases written in Maven projects. When we build a Maven package, by default, Maven will execute the JUnit test cases.

Skipping Tests

If you are using Maven-surefire-plugin in your pom.xml, then it's easy to skip running the tests for a particular project and set the skipTests property to true.

<project>
  [...]

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
  [...]

</project>


From the Command Line

You can also skip the tests via the command line by executing the following command:

mvn install -DskipTests


If you absolutely must, you can also use the maven.test.skip property to skip compiling the tests. maven.test.skip is honored by Surefire, Failsafe, and the Compiler Plugin.

mvn install -Dmaven.test.skip=true


Skipping by Default

If you want to skip tests by default, but also want the ability to re-enable tests from the command line, you need to go via a properties section in the pom:

<project>
  [...]

    <properties>
        <skipTests>true</skipTests>
    </properties>
  [...]

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>${skipTests}</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
  [...]

</project>


This will allow you to run with tests disabled by default and to run them with this command:

mvn install -DskipTests=false


The same can be done with the "skip" parameter and other booleans on the plugin.

You can learn maven in-depth here. Happy coding !!

Topics:
java ,maven ,tests ,configuration ,surefire ,testing

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}