DevOps Zone is brought to you in partnership with:

I am a software architect and loud-mouth on the design and development of enterprise softwares. Also I am a visionary who loves Big Data and Start-Up Chris is a DZone MVB and is not an employee of DZone and has posted 11 posts at DZone. You can read more from them at their website. View Full User Profile

Testing Stages in Maven

09.02.2013
| 1953 views |
  • submit to reddit

Test Stages in Development

There are a few stages in development testing. An SDLC figure it illustrates the different test stages in each development phase.


Test Stages in the Development Phase

  1. Unit Testing
  2. Integration Testing
  3. Test Automation 

In Maven, we have different lifecycles. By default, using Maven will help us to achieve test automation, but Maven phases help us to achieve the various stages, too.

Please have a look at the figure below, or read about it in detail here.


Step 1: Configuring the POM file

However, we can consume a Maven plugin to be able to have integration tests in our code. Have a look at the following example inside your build tags:

<!-- by default failsafe will include all java file with naming: **/IT*.java, **/*IT.java, **/*ITCase.java -->
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.16</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>


Step 2: The Java Class

This step is pretty simple, any Java class that follows this naming convention can be considered an integration test:

By default, failsafe will include all Java files with the name: **/IT*.java, **/*IT.java, **/*ITCase.java

Step 3: How to Execute the Integration Tests

Then you can have another job in your CI to execute integration test separately (mvn verify) to avoid your unit test failing.

Published at DZone with permission of Chris Shayan, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)