Maven: JMockit x maven-surefire-plugin

Hoje ao tentar adicionar o JMockit em minha aplicação passei por um problema bem esquisito!

Ao rodar minha classe pelo JUnit, todos os testes passam ok… já ao invocar o maven2 para gerar o package ocorrem erros!

Work around!

  • É preciso configurar o plugin maven-surefire-plugin para registrar o jar do jmockit como javaagent

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<argLine>-javaagent:${project.build.directory}/jmockit-${jmockit.version}.jar</argLine>
</configuration>
</plugin>

  • Feito isso é preciso fazer com que este jar esteja no local procurado! Para isso iremos adicionar um plugin que copia os resource de testes!

<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>generate-test-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>mockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>

Pronto! Agora basta testar sua aplicação!

Obs.: É possivel evitar o segundo passo utilizando o caminho do repositório local para o Jar, mas em minha versão(2.0.10) do maven não estava funcionando…

%d blogueiros gostam disto: