Você acabou de escrever o teste JUnit abaixo, que ainda falha porque o método add não está implementado. Seguindo o ciclo Red → Green → Refactor do Test-Driven Development (TDD), qual deve ser o próximo passo?
Questão
Você acabou de escrever o teste JUnit abaixo, que ainda falha porque o método add não está implementado. Seguindo o ciclo Red → Green → Refactor do Test-Driven Development (TDD), qual deve ser o próximo passo?
@Test
void shouldSumTwoNumbers() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
Alternativas
Adicionar novas asserções ao teste para cobrir cenários de erro antes de qualquer implementação.
Implementar o método add na classe Calculator com a lógica mínima necessária para o teste passar.
Ignorar o teste usando @Disabled e prosseguir com outras funcionalidades.
Escrever testes de integração para validar toda a stack antes de corrigir a falha unitária.
Refatorar a classe Calculator para melhorar a legibilidade antes de garantir que o teste passe.
Explicação
No ciclo Red → Green → Refactor do TDD:
- Red: você escreve o teste e ele falha (aqui, falha porque
addnão está implementado). - Green: o próximo passo é fazer o teste passar com a implementação mais simples possível, ou seja, implementar
addcom a lógica mínima para retornar a soma corretamente no caso testado. - Refactor: somente depois de o teste estar passando é que você refatora o código (melhorar legibilidade, remover duplicações, etc.) mantendo os testes verdes.
Logo, após ter o teste falhando (Red), a ação correta é implementar o método add de forma mínima para que o teste passe (Green), e só então pensar em refatorações ou novos cenários.
Alternativa correta: (B).