04/04/2018

Cucumber: Melhorando suas Features com Contexto (Background)

Sabe quando você esta fazendo um código e se depara que esta sempre declarando a mesma condição e para melhorar você extrai esse código para um método ou uma variável?

Isso também aparece quando estamos fazendo nossos testes automatizados com BDD e sempre temos a pré-condição que é por exemplo: “Dado que eu esteja logado”. Com o Contexto(Background) podemos remover essa pré-condição que fica se repetindo a cada novo cenário.

Veja um exemplo de uma Feature sem Contexto

 

Perceba que meu pré-requisito para os testes é que eu esteja logado, com o Contexto você pode remover todos esses pré-requisitos “Dado que esteja logado” e adicionar essa linha logo após a “Funcionalidade”.

Vamos ao “Contexto

 
 
“Contexto” é executado antes de cada um dos cenários, mas após qualquer um dos Hooks.

“Contexto” é bom quando se usado para coisas simples como no exemplo que dei neste artigo, você também pode usar para cenários complicados mas não é recomendado.

Espero que te ajude a melhorar seus cenários, caso tenha dúvidas ou não está conseguindo fazer, deixei sua dúvida nos comentários.