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 -versionO sistema deve apresentar a versão do Java instalada.
- Ainda no prompt de comando, digitar:
javac -versionO 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.









