Como fazer testes BDD em Java através do Cucumber no IntelliJ?

Primeira atualização: 7/11/2023

Veja o passo a passo para implantar os testes BDD com Java através do IntelliJ

Teste em BDD com Cucumber no IntelliJ
Teste em BDD com Cucumber no IntelliJ

Optei por deixar o Gherkin em inglês para evitar quaisquer erros inesperados. Caso deseja implantar o comportamento em português, deixe na primeira linha: 

#language: pt


1 - Adicione as dependências do Cucumber, JUnit e o Cucumber JUnit no pom.xml. Atualize o Maven no próprio pom.xml. As dependências abaixo podem ser atualizadas modificando a versão que está na tag <version></version>, caso prefira.

Lembre-se de que seu projeto deve ser pelo gerenciador Maven e as dependências devem estar dentro da tag <dependencies></dependencies>. Caso inexistente, crie. Segue:


<dependencies>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->

        <dependency>

            <groupId>io.cucumber</groupId>

            <artifactId>cucumber-java</artifactId>

            <version>7.14.0</version>

        </dependency>


        <!-- https://mvnrepository.com/artifact/junit/junit -->

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.13.1</version>

            <scope>test</scope>

        </dependency>


        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->

        <dependency>

            <groupId>io.cucumber</groupId>

            <artifactId>cucumber-junit</artifactId>

            <version>7.14.0</version>

            <scope>test</scope>

        </dependency>


        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->

        <dependency>

            <groupId>org.seleniumhq.selenium</groupId>

            <artifactId>selenium-java</artifactId>

            <version>4.14.1</version>

        </dependency>

</dependencies>


Aproveite e confira sempre o link External Libraries para identificar se as dependências foram baixadas. 

Atualize seu o pom.xml.


2 - Instale os plugins:

- Cucumber +

- Cucumber for Java

- Cucumber for Scala

- Gherkin 


Para acessar os plugins, vá em File / Settings / Plugins. Na aba Marketplace, pesquise os plugins acima listados. A cada plugin instalado, reinicie o IntelliJ.

Por fim, clique no ícone do Maven que fica no lado direito e abaixo do sininho. Ao abrir a aba, selecione a terceira opção e terceira opção novamente: Download Sources and Documentation. Após concluir, clique na segunda opção Generate Sources and Update Folders For All Projects. Por fim, clique na primeira aba Reload All Maven Projects.

Você precisa deixar todos os plugins e dependências atualizados, por isso é recomendado o parágrafo anterior. Só avança para a etapa seguinte se não tiver mais erros nas suas dependências.

Obs.: estes testes foram feitos, majoritariamente, no Lubunt. No Windows, percebi que este passo não precisa estar com todo o Maven atualizado. Ou seja, o item Plugins apresentava erro. Mesmo assim, o teste rodou sem problemas.

Ícone do repositório do Maven
Ícone do repositório do Maven

Estou usando como referência a versão 2023.2.4 do IntelliJ.


3 - Crie uma Feature e o BDD da mesma que deve ficar dentro do diretório test/java. Evite criar novas pastas, apenas para ver se funciona o teste inicial. Lembre-se, um passo por vez.


4 - Na aba Run, clique em Edit Configurations... Ao lado esquerdo, deixe o mouse sobre a Feature que você criou e assegure que o campo Glue: esteja vazio. Isso é um reflexo que seus Steps ficarão na raiz do diretório: src / test / java.

Se for criar novas pastas e incluir as Steps nessas pastas, você deverá atualizar o Glue com o devido diretório. Isso é de suma importância para o Gherkin consiga identificar os Steps. O Glue é responsável em linkar a linguagem Gherkin com os Steps em Java.


5 - Feche e reabra o IntelliJ.


6 - Na aba Build, clique em Build Project. Este é o passo mais crucial. O IntelliJ, por natureza, é um compilador explícito para ter códigos assertivos e sem erros. Então, a cada nova Feature ou Step, dê um build.


7 - Sempre faça print das anotações para ter certeza que o backend, a Feature, o Step e o Glue estão operacionais. Por exemplo: 

@Given("navegador esta aberto")
public void navegador_esta_aberto() {
System.out.println("Dentro do Passo - navegador está aberto");
}


8 - Nunca repita as descrições dos comportamentos no Gherkin, isto é, se fizer o Ctrl + C e Ctrl + V, edite as palavras. Isso criará conflito no programa e não permitirá que você rode seus testes de nenhuma Feature. Será acusado erro.


9 - Acesse o site https://www.selenium.dev/ para baixar o driver. Tenha em mente que o driver precisa ter exatamente a mesma versão do navegador e também o mesmo sistema operacional e arquitetura (32 bits ou 64 bits).


Desenvolve e rode teste por teste. Assim, você evitará ter de resolver vários erros ao mesmo tempo. Feito todos estes passos, você conseguirá rodar seus testes.


Se gostou ou tem algo para acrescentar, por favor, deixe nos comentários abaixo.

Este é um blog da Info Usado que divulga informações e conhecimento técnico. A Info Usado comercializa peças usadas para informática.

Márcio Baldo

Comentários

Mais lidos:

LISTA de TODOS os CÓDIGOS e BIPES de ERROS das principais marcas de PLACAS-MÃE de PC

Como saber se placa de vídeo é compatível com a placa-mãe?

Como ativar o slot PCI Express x16 (placa de vídeo) da placa-mãe de PC?