Maven

Testing-Support in Maven 3

Grundsätzlich unterscheidet man ja zwischen Unit-Tests und Integrations-Tests. Unit-Test testen das Verhalten einzelner Klassen, während Integrations-Tests das Zusammenspiel mehrerer Klassen testen. Üblicherweise (bzw. richtigerweise) sind Unit-Tests schnell und werden bei jedem Build durchgeführt und Integrations-Tests laufen länger und werden nur zu "speziellen" Gelegenheiten (also beispielsweise in nightly builds) durchlaufen. In Maven gibt es Support für diesen Unterschied unter Verwendung des failsafe-Plugins:

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.8.1</version>
    <scope>test</scope>
</dependency>

Zur Unterscheidung zwischen den beiden Test-Arten wird der Klassenname herangezogen: UnitTest-Klassen enden in *Test und Integrationstests in *IT. Bei einem Clean and Build in NetBeans (entspricht  mvn install) werden alle UnitTests durchgeführt. Durch mvn failsafe:integration-tests (bzw. einen entsprechenden Menupunkt, der sich in NetBeans einfach erzeugen lässt) werden die Integrationstests durchgeführt.