Como você pode depender do código de teste de outro módulo no Maven?
Exemplo, eu tenho 2 módulos:
Eu gostaria que um caso de teste no Main estendesse uma class de teste base no Base. Isso é possível?
Atualização: encontrou uma resposta aceitável , que envolve a criação de um jar de teste.
Eu recomendo usar o tipo em vez do classificador (veja também: classificador ). Ele diz a Maven um pouco mais explicitamente o que você está fazendo (e eu descobri que m2eclipse e q4e gostam mais).
com.myco.app foo 1.0-SNAPSHOT test-jar test
Obrigado pela sugestão do módulo base. No entanto, prefiro não criar um novo módulo apenas para esse propósito.
Encontrei uma resposta aceitável na documentação do Surefire Maven e em um blog . Veja também ” Como criar um jar contendo classs de teste “.
Isso cria um arquivo jar de código de src/test/java
usando o plugin jar para que os módulos com testes possam compartilhar código.
org.apache.maven.plugins maven-jar-plugin 2.4 test-jar
Para usar o JAR de teste anexado que foi criado acima, você simplesmente especifica uma dependência no artefato principal com um classificador de testes especificado:
... com.myco.app foo 1.0-SNAPSHOT test-jar test ...
Nós resolvemos isso fazendo um projeto maven com código de teste como src / main / java e adicionando a seguinte dependência aos projetos:
foo test-base 1 test
Sim … apenas inclua o módulo Base como uma dependência no Main. Se você estiver apenas herdando o código de teste, poderá usar a tag de escopo para garantir que o Maven não inclua o código em seu artefato quando implantado. Algo como isso deve funcionar:
BaseGroup Base 0.1.0-SNAPSHOT test