Você pode dividi-los facilmente usando as categorias JUnit e Maven.
Isso é mostrado muito, muito brevemente abaixo, dividindo os testes de unidade e integração.
Definir uma interface de marcador
A primeira etapa no agrupamento de um teste usando categorias é criar uma interface de marcador.
Essa interface será usada para marcar todos os testes que você deseja executar como testes de integração.
public interface IntegrationTest {}
Marque suas aulas de teste
Adicione a anotação da categoria ao topo da sua classe de teste. Leva o nome da sua nova interface.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Configurar testes de unidade Maven
A beleza desta solução é que nada realmente muda para o lado do teste de unidade.
Simplesmente adicionamos algumas configurações ao plug-in maven surefire para ignorar qualquer teste de integração.
<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 você faz um mvn clean test, apenas seus testes de unidade não marcados serão executados.
Configurar testes de integração do Maven
Novamente, a configuração para isso é muito simples.
Usamos o plug-in padrão à prova de falhas e o configuramos para executar apenas os testes de integração.
<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>
A configuração usa uma meta de execução padrão para executar o plug-in à prova de falhas durante a fase de teste de integração da compilação.
Agora você pode fazer um mvn clean install.
Desta vez, assim como os testes de unidade em execução, os testes de integração são executados durante a fase de teste de integração.