Pepino - JUnit Runner

É importante entender o que é Junit, antes de começarmos nossa discussão sobre Cucumber JUnit Runner. JUnité uma estrutura de teste de unidade de software livre para a linguagem de programação Java. JUnit tem sido importante no desenvolvimento de desenvolvimento orientado a testes e faz parte de uma família de estruturas de teste de unidade, que é coletivamente conhecida como xUnit que se originou com SUnit.

Benefícios de usar JUnit

  • Unidade tem um Graphical User Interface (GUI), tornando possível escrever e testar o código-fonte de forma rápida e fácil.

  • JUnit permite que o desenvolvedor construa de forma incremental suítes de teste para medir o progresso e detectar efeitos colaterais indesejados.

  • O teste pode ser executado continuamente.

  • JUnit mostra o progresso do teste em uma barra que normalmente é verde, mas fica vermelha quando um teste falha.

Até agora, vimos os benefícios de usar JUnit, mas o motivo pelo qual estamos discutindo agora é a estrutura Cucumber. Por um lado, a Cucumber está fornecendo uma maneira para pessoas não técnicas definirem casos de teste para um produto e, por outro lado, nossa expectativa é de uma execução suave e oportuna de tais casos de teste.

JUnit atua como uma ponte entre esses dois. Portanto, o fluxo de execução será semelhante ao seguinte -

  • As partes interessadas escrevem o arquivo da característica.

  • O arquivo de definição de etapa será criado de acordo.

  • Especifique a classe de execução JUnit para executar a série de casos de teste.

  • Depois de executar a classe de corredor JUnit -

    • Ele analisará o arquivo de recursos do Gherkin.

    • Ele executará as funções escritas no arquivo de definição de etapa de acordo com as instruções do arquivo de recurso.

    • O JUnit combinará o resultado do caso de teste.

    • Ele criará o relatório de teste no formato especificado (que pode ser html / JSON).

O ponto importante aqui é como configurar o JUnit para fazer todas essas coisas? A seguir estão as etapas -

Step 1 - Instale o Java.

Step 2 - Instale o Eclipse.

  • Why we need- Eclipse é um Ambiente de Desenvolvimento Integrado (IDE). Ele contém uma área de trabalho básica e um sistema de plug-in extensível para customizar o ambiente.

  • How to install -

Step 3 - Instale o Maven.

  • Why we need- Maven é uma ferramenta de automação de construção usada principalmente para projetos Java. Ele fornece uma plataforma comum para realizar atividades como gerar código-fonte, compilar código, empacotar código em um jar, etc. Além disso, posteriormente, se qualquer uma das versões do software for alterada, o Maven fornece uma maneira fácil de modificar o projeto de teste de acordo.

  • How to install -

    • Baixar Maven - https://maven.apache.org/download.cgi

    • Descompacte o arquivo e lembre-se do local.

    • Crie a variável de ambiente MAVEN_HOME conforme mostrado na captura de tela a seguir.

  • Edite a variável de caminho e inclua o Maven conforme mostrado na captura de tela a seguir.

  • Baixe o plugin MAVEN do Eclipse.

    • Abra o Eclipse.

    • Acesse a Ajuda → Eclipse Marketplace → Pesquisar maven → Integração Maven para Eclipse → INSTALAR.

Step 4 - Como configurar o Cucumber com Maven

  • Crie um projeto Maven no Eclipse.

    • Vá para Arquivo → Novo → Outros → Maven → Projeto Maven → Avançar.

    • Forneça a ID do grupo (a ID do grupo identificará seu projeto exclusivamente em todos os projetos).

    • Forneça a Id do artefato (a Id do artefato é o nome do jar sem versão. Você pode escolher qualquer nome que esteja em minúsculas).

    • Clique em Concluir.

  • Abra pom.xml

    • Vá para o explorador de pacotes no lado esquerdo do Eclipse.

    • Expanda o projeto CucumberTest.

    • Localize o arquivo pom.xml.

    • Clique com o botão direito e selecione a opção Abrir com “Editor de Texto”.

  • Adicionar dependência para Selenium - Isso indicará Maven, quais arquivos jar Selenium devem ser baixados do repositório central para o repositório local.

    • Abra pom.xml está no modo de edição, crie a tag de dependências (<dependencies> </dependencies>), dentro da tag do projeto.

    • Dentro da tag dependencies, crie a tag dependency. (<dependency> </dependency>).

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Adicionar dependência para Cucumber-Java - Isso indicará Maven, quais arquivos Cucumber serão baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Adicionar dependência para Cucumber-JUnit: Isso indicará Maven, quais arquivos Cucumber JUnit devem ser baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Adicionar dependência para JUnit - Isso indicará Maven, quais arquivos JUnit devem ser baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • Verificar binários

    • Uma vez pom.xml foi editado com sucesso, salve-o.

    • Vá para Projeto → Limpar - levará alguns minutos.

    • Depois disso, você poderá ver um repositório Maven como a imagem a seguir.

Step 5 - Criar arquivo de feição (a ser abordado mais tarde).

Step 6 - Crie um arquivo de definição de etapa (a ser abordado posteriormente).

Step 7 - Crie o executor Junit para executar o teste (a ser abordado posteriormente).