Puoi dividerli molto facilmente usando le categorie JUnit e Maven.
Ciò è mostrato molto, molto brevemente di seguito dalla divisione dell'unità e dai test di integrazione.
Definire un'interfaccia marker
Il primo passo nel raggruppare un test usando le categorie è creare un'interfaccia marker.
Questa interfaccia verrà utilizzata per contrassegnare tutti i test che si desidera eseguire come test di integrazione.
public interface IntegrationTest {}
Segna le tue lezioni di prova
Aggiungi l'annotazione di categoria all'inizio della classe di test. Prende il nome della tua nuova interfaccia.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Configurare i test dell'unità Maven
Il bello di questa soluzione è che nulla cambia davvero per il lato unit test delle cose.
Aggiungiamo semplicemente un po 'di configurazione al plugin maven surefire per farlo ignorare qualsiasi test di integrazione.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>
com.test.annotation.type.IntegrationTest
</excludedGroups>
</configuration>
</plugin>
Quando mvn clean test
esegui una, verranno eseguiti solo i test unitari non contrassegnati.
Configurare i test di integrazione Maven
Ancora una volta la configurazione per questo è molto semplice.
Utilizziamo il plug-in fail-safe standard e lo configuriamo per eseguire solo i test di integrazione.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<groups>
com.test.annotation.type.IntegrationTest
</groups>
</configuration>
</plugin>
La configurazione utilizza un obiettivo di esecuzione standard per eseguire il plug-in fail-safe durante la fase di test di integrazione della build.
Ora puoi fare un mvn clean install
.
Questa volta, nonché i test unitari in esecuzione, i test di integrazione vengono eseguiti durante la fase di test di integrazione.