  ------
  Skipping Tests
  ------
  Johnny Ruiz
  Brett Porter
  Allan Ramirez
  ------
  July 2006
  ------

 ~~ Licensed to the Apache Software Foundation (ASF) under one
 ~~ or more contributor license agreements.  See the NOTICE file
 ~~ distributed with this work for additional information
 ~~ regarding copyright ownership.  The ASF licenses this file
 ~~ to you under the Apache License, Version 2.0 (the
 ~~ "License"); you may not use this file except in compliance
 ~~ with the License.  You may obtain a copy of the License at
 ~~
 ~~   http://www.apache.org/licenses/LICENSE-2.0
 ~~
 ~~ Unless required by applicable law or agreed to in writing,
 ~~ software distributed under the License is distributed on an
 ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 ~~ KIND, either express or implied.  See the License for the
 ~~ specific language governing permissions and limitations
 ~~ under the License.

 ~~ NOTE: For help with the syntax of this file, see:
 ~~ http://maven.apache.org/doxia/references/apt-format.html

Skipping Tests

#{if}(${project.artifactId}=="maven-surefire-plugin")

 To skip running the tests for a particular project, set the <<skipTests>> property to <<true>>.

+---+
<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <version>${project.version}</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
+---+

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

+---+
mvn install -DskipTests
+---+

#{else}

 To skip running the tests for a particular project, set the <<skipITs>> property to <<true>>.

+---+
<project>
    [...]
    <build>
        <plugins>
            <plugin>
                <groupId>${project.groupId}</groupId>
                <artifactId>${project.artifactId}</artifactId>
                <version>${project.version}</version>
                <configuration>
                    <skipITs>true</skipITs>
                </configuration>
            </plugin>
        </plugins>
    </build>
    [...]
</project>
+---+

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

+---+
mvn install -DskipTests
+---+

 Since <<<skipTests>>> is also supported by the ${thatPlugin} Plugin, this will have the effect
 of not running any tests.  If, instead, you want to skip only the integration tests
 being run by the ${thisPlugin} Plugin, you would use the <<<skipITs>>> property instead:

+---+
mvn install -DskipITs
+---+

#{end}



 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 want the ability to re-enable tests from the
   command line, you need to go via a properties section in the pom:

#{if}(${project.artifactId}=="maven-surefire-plugin")

+---+
<project>
  [...]
  <properties>
    <skipTests>true</skipTests>
  </properties>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <version>${project.version}</version>
        <configuration>
          <skipTests>${esc.d}{skipTests}</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
+---+

#{else}

+---+
<project>
    [...]
    <properties>
        <skipTests>true</skipTests>
    </properties>
    [...]
    <build>
        <plugins>
            <plugin>
                <groupId>${project.groupId}</groupId>
                <artifactId>${project.artifactId}</artifactId>
                <version>${project.version}</version>
                <configuration>
                    <skipITs>${esc.d}{skipTests}</skipITs>
                </configuration>
            </plugin>
        </plugins>
    </build>
    [...]
</project>
+---+

#{end}

   This will allow you to run with all 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 boolean properties of the plugin.
