Quando um teste de integração vale mais que dez de unidade
Pergunta
A pirâmide diz 'muitos testes de unidade'. Em que situações um teste de integração te dá mais confiança pelo custo?
Resposta esperada
Quando o valor está nas BORDAS entre componentes, não na lógica interna: uma rota que recebe HTTP, valida, chama o repositório e serializa a resposta — testar isso ponta a ponta (com um banco real de teste, ou containerizado) pega bugs de mapeamento de coluna, de serialização, de migração, de config, de contrato SQL, que testes de unidade com tudo mockado nunca veem (os mocks concordam com a sua suposição errada). Também quando a lógica de unidade é trivial mas a fiação é onde erra. O custo do teste de integração é ser mais lento e precisar de infra; a 'pirâmide de testes' virou por alguns times numa 'troféu de testes' (mais integração, menos unidade) justamente porque mock demais testa a sua imaginação. Regra: unidade pra lógica ramificada e algoritmos; integração pra as costuras.
Por que perguntam isso
Pergunta pleno/sênior. Sinal de leitura atual: 'testing trophy' e 'mock demais testa sua imaginação'.