Oii, Gabriele.
Quando você escreve testes automatizados com o Cypress (ou qualquer outra ferramenta), o objetivo é justamente detectar quando algo no sistema não está funcionando como deveria. Por isso, se o teste falhar porque encontrou um bug, isso não significa que o teste está errado, na verdade, significa que ele cumpriu sua função.
Por que isso é importante?
- Confiança no código: um teste que falha diante de um erro mostra que ele realmente está validando o comportamento esperado.
- Feedback rápido: a falha aponta exatamente em qual parte do fluxo o problema aconteceu, ajudando a corrigir mais rápido.
- Documentação viva: cada teste serve como um contrato: “o sistema deve se comportar assim”. Se esse contrato não for cumprido, a falha deixa claro que há um problema.
O que acontece depois da falha?
Quando o Cypress detecta que um teste não passou, ele interrompe aquele caso de teste e registra:
- Qual teste falhou (mostrado em vermelho na interface).
- O motivo da falha, geralmente indicando qual asserção não foi cumprida.
- Prints de tela e vídeos (se configurados), mostrando o momento exato em que o erro ocorreu.
Depois disso, é necessário analisar a causa da falha:
- Se o bug está no código da aplicação: a funcionalidade não tá funcionando como deveria. Nesse caso, o teste foi útil porque identificou o problema antes de o usuário final encontrar.
- Se o bug está no próprio teste: às vezes a asserção foi escrita de forma incorreta ou faltou tratar algum detalhe, e então o teste precisa ser ajustado.
O ciclo completo funciona assim:
- O teste roda.
- Ele falha porque algo não correspondeu ao esperado.
- O Cypress gera relatório com logs, prints e vídeos.
- Você analisa o resultado e corrige o problema (no código ou no teste).
- Os testes são executados novamente até que todos passem.
Exemplo prático
Imagine que você tem um teste que verifica se, ao clicar no botão “Adicionar ao carrinho”, o item aparece no carrinho.
- Se houver um bug no código e o item não for adicionado, o teste vai falhar.
- Essa falha mostra que há um comportamento inesperado.
- Depois da correção do código, o mesmo teste deve voltar a passar, garantindo que o problema foi resolvido.
Espero ter ajudado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!