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

Testing Stages in Maven

DZone's Guide to

Testing Stages in Maven

· DevOps Zone ·
Free Resource

DevOps involves integrating development, testing, deployment and release cycles into a collaborative process. Learn more about the 4 steps to an effective DevSecOps infrastructure.

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.

Read the 4-part DevOps testing eBook to learn how to detect problems earlier in your DevOps testing processes.

Topics:

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}