Instalando e Configurando o Maven no Eclipse para trabalhar com TDD utilizando Junit (para leigos)


Hello!

Hoje tenho que deixar uma configuração básica do Maven e Junit para rodarmos os nossos testes de TDD  (Test Driven Development). Bem, eu aproveitei e escrevi “para leigos” no final da chamada porque como muitos, me considero um leigo, sendo assim ser leigo é apenas um estado de espírito e isso diz tudo sobre o que sinto agora.

Percorri vários tutoriais na net e muitas vezes em que fui implementar os projetos do Maven com JUnit estava dando vários erros, então resolvi fazer um tutorial bem mastigado.

– Baixe o Maven no site do Maven.

Entre no link e baixe http://maven.apache.org a última versão do Maven.

conf01_apacha_maven

Eu decidi baixar a versão zip, portanto faça o mesmo.

– Descompactando o conteúdo do pacote

Descompacte o conteúdo do pacote para dentro de c:\ (no meu caso o Apache Maven está na versão 3.3.3, portanto saiba que esta versão pode variar). No meu caso ficou assim: c:\apache-maven-3.3.3.

– Configurando o Maven

No decorrer deste tutorial você deverá ver que baseei no passo a passo do Luiz Ricardo do site State of Art, mas fiz algumas modificações para ir somente ao que interessa para nós.

Crie um diretório chamado repositorio dentro da pasta c:\apache-maven-3.3.3.  E também pasta do Maven, existe um diretório chamado conf, pois bem, entre dentro dele, abra o arquivo settings.xml e descomente a linha onde está escrito <LocalRepository> e dentro dele coloque algo como está abaixo (lembrando que eu não sei qual será a versão do Maven que você está usando e por isso coloque do jeito que está escrito na sua pasta).


<localRepository>c:\apache-maven-3.3.3\repositorio</localRepository>

Segundo o site da referência, se é apenas um usuário que acessa determinada máquina não há problema em direcionar o repositório para um local em específico.

– Configurando as variáveis de ambiente

Pois bem, eu já escrevi um tutorial ensinando à todos como criar variáveis de ambiente no Linux e no Windows, portanto utilize o método do Windows contido neste tutorial, só que primeiro você deve criar uma usando o botão Novo (em Painel de Controle > Sistema > Configurações Avançadas do Sistema > Variáveis de Ambiente > Variáveis de Sistema > Novo)  e criar uma variável com o seguinte nome e conteúdo:

Onde está escrito Nome da Variável, M2_HOME e onde pede o Valor da Variável digite c:\apache-maven-3.3.3 que é o caminho de seu Apache Maven.

E agora sim, você pode seguir o tutorial de como configurar o Path da sua máquina a que me refiro logo acima, acrescentando o valor ;%M2_HOME%\bin ao final do Path do Windows.

Conferindo

Depois de ter feito o procedimento, abra o console do Windows (se for o terminal do Linux é bom reiniciar antes ou digitar /etc/source/profile de executar o comando) e digite mvn -version e verifique se está parecido como algo abaixo:

conf02_prompt

Na imagem acima dá pra ver mais ou menos o que vai aparecer para você.

– Configurando o Maven no Eclipse

Ao invés de ir até o Eclipse Marketplace, iremos em Help > Install New Software e coloco o endereço do repositório do Maven (http://download.eclipse.org/technology/m2e/releases):

conf03_repositoriomaven

E mando baixar. Se ele pedir para reiniciar, reinicie sempre.

– Configurando a instalação do Maven

Siga em Window > Preferences > Maven > Installations e na caixa onde está informada a versão do Maven já configurada no Eclipse, desmarque-a e clique em Add para adicionar o diretório que está instalado o nosso Maven.

conf04_repositoriomaven

Agora, em User Settings, altere o campo User Settings para o arquivo settings.xml que configuramos anteriormente.

conf05_usersettins

– Criando o nosso projeto Maven

Bem, para criar um projeto teste eu vou pegar o projeto da calculadora que meu professor fez (este código não é meu). Vamos lá, File > New > Other > Maven > Maven Project.

conf06_newproject

Marque para criarmos um projeto simples (Create a simple project).

conf07_newproject2

Agora, no quadro abaixo vou marcar da seguinte maneira:

  • Group Id: com.wordpress.mastigado
  • Artificat Id: calculadora
  • Name: Calculadora
  • Description: Calculadora teste para Maven

 

conf08_newproject3

Depois de criado o projeto, abra o arquivo pom.xml e adicione as linhas abaixo logo abaixo da tag description e salve o arquivo.


<dependencies>
       <dependency>
            <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>4.8.2</version>
            <scope>test</scope>
      </dependency>
 </dependencies>

 

conf09_pomxml

– Crie um pacote com o nome com.wordpress.mastigado.calculadora dentro de de src/main/java.

conf10_criacaopacote

E depois um chamado com.wordpress.mastigado.calculadora.test dentro de src/test/java.

conf11_criacaopacotetest

– Crie uma interface chamada Calculadora dentro de src/main/java.

conf12_criacaointerfaceEm seguida, coloque o código abaixo dentro da interface


package com.wordpress.mastigado.calculadora;

public interface Calculadora {
   public int soma (int primeiro, int segundo);
   public int subtracao (int primeiro, int segundo);
   public int multiplicacao (int valor, int vezes);
   public int divisao (int numerador, int divisor) throws ArithmeticException;
}

10º – Agora crie uma classe chamada AplCalculadora também dentro de src/main/java.


package com.wordpress.mastigado.calculadora;

public class AplCalculadora implements Calculadora {

  public int soma(int primeiro, int segundo) {
     return primeiro + segundo;
  }

  public int subtracao(int primeiro, int segundo) {
     return primeiro - segundo;
  }

  public int multiplicacao(int valor, int vezes) {
     return valor * vezes;
  }

  public int divisao(int numerador, int divisor) throws ArithmeticException { 

   if (divisor == 0) {
      throw new ArithmeticException("Divisão por zero");
   }

   return numerador / divisor;
 }
}

11º – Crie a classe CalculadoraTest.java dentro de src/test/java e coloque o conteúdo abaixo dentro dela.

package com.wordpress.mastigado.calculadora.test;

import com.wordpress.mastigado.calculadora.AplCalculadora;
import com.wordpress.mastigado.calculadora.Calculadora;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class CalculadoraTest {

private Calculadora calculadora;

 private final int VALOR1 = 10;
 private final int VALOR2 = 20;

 private final int VEZES = 10;

 private final int RESULTADOSOMA = 30;
 private final int RESULTADOMULT = 100;
 private final int RESULTADODIV = 2;

 private final int ZERO = 0;

 @Before
 public void before()
 {
    calculadora = new AplCalculadora();
 }

 @Test
 public void soma()
 {
    int resultado = calculadora.soma(VALOR1, VALOR2);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma esta correta
    Assert.assertEquals(RESULTADOSOMA, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void subtracao()
 {
    int resultado = calculadora.subtracao(VALOR2, VALOR1);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(VALOR1, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void multiplicacao()
 {
    int resultado = calculadora.multiplicacao(VALOR1, VEZES);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(RESULTADOMULT, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void multiplicacaoporzero()
 {
    int resultado = calculadora.multiplicacao(VALOR1, ZERO);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(ZERO, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertTrue(resultado == 0);
 }

 @Test
 public void divisao()
 {
    int resultado = calculadora.divisao(VALOR2, VALOR1);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(RESULTADODIV, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test (expected = ArithmeticException.class)
 public void divisaoporzero()
 {
    calculadora.divisao(VALOR1, ZERO);
 } 

}

12º – Configurando o comando para seu JDK chamar o Maven.

Vá em Window > Preferences > Java > Installed JREs e clique em Add para adicionar a JDK do Java que irá compilar o seu projeto e em seguida, desmarque a JRE abaixo.
conf15_confmaven
Pois é, um dos erros que me perseguiu foi um parâmetro que eu não havia colocado e que está no screenshot acima. Ao marcar a JDK clique em Edit para adicionar a linha abaixo no campo Default VM arguments.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

13º – E para finalizar, clique com botão direito em cima do seu projeto e em seguida Run As > JUnit Test.

conf16_junit

fonte: https://mastigado.wordpress.com

Sobre o plugin M2 para Eclipse

fonte: http://eclipse.org/m2e/index.html

Para maiores detalhes sobre o porque de seu utilizar o Maven consulte o blog abaixo.

fonte: http://luizricardo.org/2014/06/instalando-configurando-e-usando-o-maven-para-gerenciar-suas-dependencias-e-seus-projetos-java/

Sobre Mastigado
Sou um daqueles que precisa mudar o mundo.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: