Fixtures, factories e o teste que ninguém entende
Pergunta
Por que um monte de fixtures compartilhadas costuma tornar a suíte difícil de manter, e o que ajuda?
Resposta esperada
Fixtures grandes e compartilhadas (um `usuario_padrao` usado por 200 testes) criam acoplamento invisível: mudar a fixture pra um teste novo quebra dezenas de outros; e cada teste depende de campos que você não vê no próprio teste ('por que esse assert espera 3? porque a fixture tem 3 pedidos, lá em outro arquivo'). Ajuda: (1) construir o dado que importa DENTRO do teste, explícito, mostrando só os campos relevantes — o resto vem de um builder/factory com defaults sensatos (`umUsuario().comSaldo(0)`); (2) isolar o estado entre testes (transação com rollback, banco recriado, ou dados com id único por teste); (3) nomear os dados pelo papel no cenário (`usuarioSemPermissao`), não genéricos. O teste deve contar sua própria história: quem lê entende o cenário sem abrir outro arquivo.
Por que perguntam isso
Pergunta pleno. Termos que indicam experiência: 'object mother', 'test data builder', e 'o teste conta sua própria história'.