BDD - Behavior Driven Development
Desenvolvimento Orientado a Comportamento.
Técnica de desenvolvimento ágil que visa integrar regras de negócio com linguagem de programação.
Escrever o teste e descrever o que aquele teste é, descrever a funcionalidade de negócio que está sendo testada.
Assim, o código fica documentado e explicado, sabe-se que comportamento é esperado de determinado componente, classe, etc.
Documentar as regras de negócio, descrever os comportamentos dos seus componentes refletindo o negócio em si.
Software que esteja se descrevendo, descrevendo seu próprio comportamento, seu impacto e que parte ele faz do negócio em si.
Visa pensar no comportamento antes de sair escrevendo código, e o TDD auxilia nisso, porque escrevemos o teste antes do código, e o teste nada mais é do que uma descrição do comportamento esperado.
BDD prevê a união da especificação com o teste, Teste de especificação.
Une especificação, teste automatizdo e premissa de teste (documento de teste) para que consiga satisfazer todas as pontas do desenvolvimento.
Sintaxe Gherkin
Sintaxe de steps para definir cenários.Descreve cada funcionalidade por feature (caso de uso).
O objetivo é criar uma representação da especificação em uma linguagem que a máquina entenda.
Exemplo de um caso de uso de Login
- Testes
- Documentação Documentação, readme, documentação complementar principalmente de processos ou como utilizar as ferramentas.
- Exemplos O teste por si só já é um exemplo, mas pode ser colocado na documentação.
Pilares
Tem testes que geram documentação dinâmica.
- Compartilhamento de conhecimento.
- Documentação dinâmica.
- Visão do todo (Uma vez que desenvolvedor e negócio falam o mesmo idioma).
Vantagens
- Jest-cucumber É uma extensão para o Jest e para o VSCode.
Bibliotecas
npm install --save-dev jest-cucumber