Hi! I'm studdying english and I'm using the blog to practice and learn a little more.

So please, be comprehensive and feel free to tell me about what it's wrong.

:) Thanks

2013-03-14

Utilizando JMockit no Maven

Problema: Configurar e utilizar o JMockit com o Maven
Solução: Referenciar a lib com o caminho relativo da biblioteca dentro do arquivo pom.xml

Aqueles que já utilizaram o JMockit com o Ant sabem que é necessária uma pequena configuração adicional para que tudo funcione normalmente. Estou falando da configuração na qual apontamos o caminho da lib para o Ant, permitindo que os testes utilizem a biblioteca sem mais problemas.

Esta mesma ideia deve ser aplicada no Maven. Para podermos executar os testes corretamente, temos que mostrar o caminho da lib para o Maven, caso contrário o comando mvn test e todas as demais fases do ciclo de vida que a utilizam resultarão em erro.

A boa notícia é que a configuração é extremamente rápida e simples! Basta seguir as etapas descritas a seguir:

  • Crie uma variável no início do seu arquivo pom.xml, seguindo o seguinte modelo:
        <properties>
         <jmockit.version>0.0.1</jmockit.version>
        </properties>
       

    Isto permitirá que a versão da biblioteca seja definida em um único lugar no nosso projeto.
  • Em seguida adicione as seguintes tags dentro do bloco de plugins, ainda no arquivo pom.xml:
        <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
          <argLine>
           -javaagent:"${settings.localRepository}"/mockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar
          </argLine>
         </configuration>
        </plugin>
       
  • Feito isso, adicione a dependência da biblioteca referenciando o número da versão definida anteriormente:
        <dependency>
         <groupId>mockit</groupId>
         <artifactId>jmockit</artifactId>
         <version>${jmockit.version}</version>
        </dependency>
       


  • Pronto! Execute o comando de teste do Maven e veja se tudo ocorrer normalmente.
       mvn test