Martin Fowler ha aggiornato la sua white paper in cui illustra le due principali varienti di TDD, vale 
a dire
  - l'approccio classico, 
  in cui spesso, all'interno degli unit test, nel caso in cui esso coinvolga più 
  oggetti interconnessi, si fa uso di stub e più raramente di mock; 
  
 - l'approccio mocking, in 
  cui all'interno del metodo di test, oltre al SUT (System 
  Under T    est), sono presenti esclusivamente oggetti 
  mock.
 
La caratteristica fondamentale del primo approccio è che il test è basato 
sull'analisi dello stato degli oggetti al termine dello stesso, mentre 
nel secondo caso assume rilevanza l'analisi comportamentale del SUT. 
Il risultato è che, sebbene un TDD basato su mock garantisca un miglior 
isolamento del test, al tempo stesso risulta inevitabilmente legato alla 
particolare implementazione del SUT e non solo alla sua interfaccia. Per questa 
ragione personalmente preferisco (e metto in pratica) l'approccio classico, 
utilizzando i mock solo ove strettamente necessario.
Mi piacerebbe sentire altri pareri in proposito.
powered by IMHO 1.3