Puede dividirlos muy fácilmente usando las categorías JUnit y Maven.
Esto se muestra muy, muy brevemente a continuación dividiendo la unidad y las pruebas de integración.
Definir una interfaz de marcador
El primer paso para agrupar una prueba usando categorías es crear una interfaz de marcador.
Esta interfaz se utilizará para marcar todas las pruebas que desea ejecutar como pruebas de integración.
public interface IntegrationTest {}
Marque sus clases de prueba
Agregue la anotación de categoría a la parte superior de su clase de prueba. Toma el nombre de su nueva interfaz.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Configurar las pruebas de la unidad Maven
La belleza de esta solución es que nada cambia realmente para el lado de las pruebas unitarias.
Simplemente agregamos un poco de configuración al plugin maven surefire para que ignore cualquier prueba de integración.
<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>
Cuando haces un mvn clean test
, solo se ejecutarán las pruebas unitarias sin marcar.
Configurar las pruebas de integración de Maven
Nuevamente, la configuración para esto es muy simple.
Utilizamos el complemento a prueba de fallos estándar y lo configuramos para ejecutar solo las pruebas de integración.
<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 configuración utiliza un objetivo de ejecución estándar para ejecutar el complemento a prueba de fallos durante la fase de prueba de integración de la compilación.
Ahora puedes hacer un mvn clean install
.
Esta vez, además de las pruebas unitarias en ejecución, las pruebas de integración se ejecutan durante la fase de prueba de integración.