Às vezes, os objetos só precisam ser bem acoplados. Por exemplo, uma CsvFile
classe provavelmente precisará trabalhar estreitamente com a CsvRecord
classe (ou ICsvRecord
interface).
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 ICsvRecord
zombarias ou stubs em vez de instâncias reais de CsvRecord
.
No entanto, depois de tentar essa abordagem, notei que zombar da CsvRecord
classe 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 CsvRecord
instâ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?