Sim, você deve
O formato dado/quando/então fornece uma linguagem específica de domínio de alto nível para especificar a intenção dos testes de aceitação automatizados separada da implementação. Esta separação permite mudar o método de implementação do teste (por exemplo, mover de testes de UI para testes de serviços) sem mudar a intenção do teste e como ele é escrito.
Há ferramentas em quase todas as linguagens de programação que lhe permitem especificar testes dessa maneira. Por exemplo, Cucumber, SpecFlow e JBehave, todos utilizam este formato e este formato se tornou bastante onipresente na automação de testes de aceitação.
Se os critérios de aceitação em suas histórias de usuário são especificados no formato Dado/Quando/Então, estes são facilmente transferidos das histórias de usuário para testes de aceitação automatizado.
Não, você não precisa
Escrever testes automatizados no formato Dado/Quando/Então cria uma sobrecarga de manter uma coleção de definição de passos para que essas especificações de linguagem clara sejam executáveis por uma máquina.
Um dos maiores argumentos de venda da escrita de testes de aceitação automatizados no formado Dado/Quando/Então é que eles são fáceis de serem lidos por membros não técnicos de seu negócio. Mas na realidade, o pessoal de negócio raramente irá, ou nunca, ler suas especificações Dado/Quando/Então, daí, não faz o menor sentido investir na sobrecarga necessária para implementar esses testes, já que eles não fornecem nenhum benefício extra de comunicação.
É melhor gastar este esforço na colaboração entre o negócio e o time de desenvolvimento na criação de critérios de aceitação não executáveis de histórias de usuário, que sejam totalmente compreendidos por todos. Estes podem ser implementados sem a necessidade de o negócio ter que acessá-los.
Outros frameworks de domínio específico, tais como RSpec, permitem a especificação de testes automatizados legívies sem a sobrecarga associada a implementação do formato Dado/Quando/Então, e esses frameworks são frequentemente uma melhor escolha do que um Dado/Quando/Então quando ele não é realmente necessário.
TRADUÇÃO/ADAPTAÇÃO DE PRIDE AND PARADE, DE ALISTER SCOTT
Semana que vem a última contradição da série será:
Seus seletores de elementos devem ser baseados em texto ou valor?