BDD • Cucumber • SpecFlow • Gherkin • Testes Automatizados • Configurações • Licença
♻️ BDD for user stories.
BDD (Behavior Driven Development) ou desenvolvimento orientado por comportamento é uma técnica de desenvolvimento Ágil que encoraja colaboração entre desenvolvedores, setores de qualidade e pessoas não-técnicas ou de negócios num projeto de software e se relaciona com o conceito de verificação e validação.
– Wikipedia –
É um framework para a prática do BDD. Através dele escrevemos as especificações das funcionalidades utilizando a linguagem Gherkin.
Neste projeto utilizei o Cucumber como framework para implementar o BDD.
Também é um framework para a prática do BDD, normalmente utilizado em projetos e soluções .NET.
O SpecFlow suporta o Gherkin, mesma sintaxe utilizada com o Cucumber.
As user stories são descritas em linguagem natural possibilitando o entendimento tanto pela equipe técnica quanto pela área de negócios.
O comportamento da funcionalidade é descrito utilizando as palavras reservadas abaixo:
Dado ...
Quando ...
Então ...
Veja um exemplo do comportamento de uma funcionalidade descrito com Gherkin clicando aqui.
Para automatizar os testes descritos nos arquivos .feature são necessários alguns pré-requisitos, descritos à seguir.
- Java development kit (JDK 8) - Release 10.0.2
- Eclipse IDE - Versão Photon - Release 4.8.0
- Maven - Versão 4.0.0
- Cucumber Eclipse Plugin
- JUnit - Versão 4.12
Procedimentos para a configuração do ambiente de testes.
- Download do Eclipse
- Descompactar o arquivo e clicar sobre o executável para iniciar a instalação.
- Download do instalador do Java JDK
- Aceitar a licença clicando em "Accept License Agreement".
- Clicar no link para download referente ao seu sistema operacional (Windows x64).
- Após o download, executar a instalação (next, next, finish).
-
Adicionar JAVA_HOME nas variáveis de ambiente:
- Meu Computador > Botão direito: Propriedades > Configurações avançadas do sistema;
- Propriedades do sistema: Aba 'Avançado' > Botão "Variáveis do ambiente";
- Na área "Variáveis do sistema", clicar no botão 'Novo...';
- Na janela "Nova variável de sistema", preencher o campo 'Nome da variável' com JAVA_HOME e o campo 'Valor da variável' com o caminho do diretório onde o Java foi instalado.
-
Atualizar o PATH das variáveis de ambiente:
- Ainda na área "Variáveis do sistema", selecionar a variável "Path" > botão Editar.
- Acrescentar ao final das configurações > ;%JAVA_HOME%\bin > botão OK.
- Acessar o prompt de comando e digitar:
java -version
O sistema deve apresentar a versão do Java instalada.
- Ainda no prompt de comando, digitar:
javac -version
O sistema deve apresentar a versão do compilador Java instalada.
Versão da biblioteca JRE
ATENÇÃO!
Valide se a biblioteca do JRE está na mesma versão da biblioteca JRE baixada e, caso não esteja, siga os passos abaixo.
- Clique com o botão direito no projeto > opção 'propriedades' > Java Build Path > Libraries > remover a biblioteca.
- Na sequência clicar no botão 'Add library' > selecionar a versão atual da biblioteca > next > apply and close.
Para instalar o Cucumber Eclipse Plugin no Eclipse, siga os passos abaixo:
-
Acesse o Menu Help > Eclipse Marketplace > Search "Cucumber"
-
Em seguida clique no botão Install.
-
Criar um projeto MAVEN através do Eclipse IDE em File > New > Other > Maven > Maven Project > opção "Create a simple project".
-
Informar o Group id (link da empresa), o Artfact id (nome do projeto) > botão Finish.
Para adicionar as bibliotecas do Cucumber Eclipse Plugin e suas dependências, digitar no arquivo "POM.xml":
<dependencies>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
</dependencies>
Para executar os testes com o Cucumber, siga os passos abaixo:
- Acesse no Eclipse o botão Run > Run As > "Cucumber Feature".
Para executar os testes com o JUnit, siga os passos abaixo:
- Acesse o site MVN Repository e efetue uma busca por 'cucumber'
- Clique na opção "Cucumber JVM: JUnit" > selecione a versão 1.2.5
- Copie o trecho de código abaixo e cole no arquivo 'pom.xml' do projeto:
<dependencies>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
</dependencies>
Crie a classe Runner para configurar o comportamento dos resultados de teste a cada execução.
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.SnippetType;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(plugin = "pretty", monochrome = true, snippets = SnippetType.CAMELCASE, dryRun = false,
strict = false)
public class Runner {
}
Após importar o JUnit e criar a class 'Runner' no projeto, acesse o botão Run > Run As > JUnit Test.
⚖️ MIT License © Luciana Muniz Freire.