0%
Dublês e rede

Dublês e rede

Um dublê complacente demais transforma sua suíte de testes numa máquina de produzir confiança injustificada

10-15 min

Dublês e rede

Sua página de faturamento está coberta por vinte testes verdes. Em produção, ela exibe NaN € há três dias. Você abre os testes: eles simulam o cliente HTTP com vi.mock, e o dublê retorna { montant: 1290 }. O serviço real, por sua vez, retorna { montant: "1290.00", devise: "EUR" } desde uma migração de back-end do mês passado. Seus testes nunca verificaram o contrato real: eles verificaram que o seu código funciona com os dados que você inventou para ele.

Esse é o risco central de qualquer dublê, e ele é estrutural: você substitui uma dependência por uma versão simplificada e, com isso, remove da superfície de teste exatamente a parte que você não controla. A pergunta nunca é "devo simular?", mas "em que nível cortar", e a resposta quase sempre é: o mais baixo possível. Interceptar no nível HTTP deixa rodar o seu cliente, a sua serialização, o seu tratamento de erros e a sua análise de resposta — ou seja, todo o código onde os bugs realmente se escondem. Simular o módulo que chama a API elimina tudo isso de uma só vez.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!