Eu sigo TDD religiosamente. Meus projetos normalmente têm 85% ou mais de cobertura de teste, com casos de teste significativos.
Faço muito trabalho com o HBase , e a principal interface do cliente, HTable, é uma verdadeira chatice. Demoro 3 ou 4 vezes mais para escrever meus testes de unidade do que para escrever testes que usam um endpoint ativo.
Sei que, filosoficamente, os testes que usam zombarias devem ter prioridade sobre os testes que usam um endpoint ativo. Mas zombar do HTable é uma dor séria, e não tenho muita certeza de que ele ofereça uma grande vantagem sobre o teste em uma instância do HBase ao vivo.
Todos na minha equipe executam uma instância do HBase de nó único em suas estações de trabalho e temos instâncias do HBase de nó único em execução nas nossas caixas Jenkins, portanto, não é um problema de disponibilidade. Obviamente, os testes de endpoint ao vivo demoram mais tempo do que os testes que usam simulações, mas não nos importamos com isso.
No momento, escrevo testes de endpoint em tempo real e testes baseados em simulação para todas as minhas classes. Adoraria abandonar a zombaria, mas não quero que a qualidade diminua como resultado.
O que vocês acham?