Às vezes, os objetos só precisam ser bem acoplados. Por exemplo, uma CsvFileclasse provavelmente precisará trabalhar estreitamente com a CsvRecordclasse (ou ICsvRecordinterface).
No entanto, pelo que aprendi no passado, um dos principais princípios do desenvolvimento orientado a testes é "Nunca teste mais de uma classe de cada vez". Significando que você deve usar ICsvRecordzombarias ou stubs em vez de instâncias reais de CsvRecord.
No entanto, depois de tentar essa abordagem, notei que zombar da CsvRecordclasse pode ficar um pouco peludo. O que me leva a uma das duas conclusões:
- É difícil escrever testes de unidade! Isso é um cheiro de código! Refatorar!
- Zombar de todas as dependências é irracional.
Quando substituí minhas zombarias por CsvRecordinstâncias reais , as coisas foram muito mais tranqüilas. Ao procurar os pensamentos de outras pessoas, me deparei com este post do blog , que parece apoiar o item 2 acima. Para objetos naturalmente acoplados, não devemos nos preocupar tanto com zombaria.
Estou fora dos trilhos? Existem desvantagens na suposição nº 2 acima? Eu deveria realmente estar pensando em refatorar meu design?