Vous pouvez les séparer très facilement en utilisant JUnit catégories et Maven.
Ceci est montré très, très brièvement ci-dessous par le fractionnement des tests unitaires et d'intégration.
Définir Un Marqueur De L'Interface
La première étape dans le regroupement d'un test à l'aide de catégories est de créer une interface marqueur.
Cette interface sera utilisée pour marquer tous les tests que vous souhaitez exécuter en tant qu'tests d'intégration.
public interface IntegrationTest {}
Marquez vos classes de test
Ajouter la catégorie d'annotation vers le haut de votre classe de test. Elle prend le nom de votre nouvelle interface.
import org.junit.experimental.categories.Category;<br>
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Configurer Maven Tests Unitaires
La beauté de cette solution est que rien ne change vraiment pour le test de l'unité côté des choses.
Nous avons simplement ajouter un peu de configuration pour le maven plugin surefire pour se rendre à ignorer les tests d'intégration.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.12</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>com.test.annotation.type.IntegrationTest</excludedGroups>
</configuration>
</plugin>
</pre>
Lorsque vous faites un mvn clean tester votre banalisée tests unitaires d'exécution.
Configurer Maven Tests D'Intégration
De nouveau cette configuration est très simple.
Nous utilisons la norme de sécurité intégrée de plugin et de le configurer pour seulement exécuter les tests d'intégration.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.12</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>com.test.annotation.type.IntegrationTest</excludedGroups>
</configuration>
</plugin>
La configuration utilise un standard de l'exécution but d'exécuter le failsafe plugin lors de l'intégration de la phase de la construction.
Vous pouvez maintenant faire un mvn clean install
Cette fois, ainsi que les tests unitaires en cours d'exécution, l'intégration, les tests sont exécutés au cours de l'intégration-phase de test.