Seguo religiosamente il TDD. I miei progetti in genere hanno una copertura dei test dell'85% o superiore, con casi di test significativi.
Faccio molto lavoro con HBase e l'interfaccia client principale, HTable, è una vera seccatura da deridere. Mi occorrono 3 o 4 volte più tempo per scrivere i test unitari di quanto non faccia per scrivere test che utilizzano un endpoint attivo.
So che, filosoficamente, i test che usano le beffe dovrebbero avere la priorità rispetto ai test che usano un endpoint dal vivo. Ma deridere HTable è un dolore serio, e non sono davvero sicuro che offra molti vantaggi rispetto ai test contro un'istanza HBase live.
Tutti nel mio team eseguono un'istanza HBase a nodo singolo sulla propria workstation e abbiamo istanze HBase a nodo singolo in esecuzione sui nostri box Jenkins, quindi non è un problema di disponibilità. I test degli endpoint dal vivo ovviamente richiedono più tempo per essere eseguiti rispetto ai test che utilizzano simulazioni, ma non ci interessa davvero.
In questo momento, scrivo test di endpoint dal vivo E test basati su simulazioni per tutte le mie classi. Mi piacerebbe abbandonare le derisioni, ma di conseguenza non voglio che la qualità diminuisca.
Che ne pensate?