Mocks, Stubs, Spies, Fakes. Sono tutti Test Doubles, cioè porzioni di codice usate per agevolare lo unit testing, quello praticato dagli sviluppatori per verificare una porzione limitata di codice, un singolo mattoncino.
Sono termini propri del testing “white box”, che richiede a chi lo effettua di conoscere il codice che sta testando (a differenza del testing “black box”, che non richiede la conoscenza del codice, e che viene praticato normalmente da chi non ha sviluppato).
Un intervento di Robert Martin sotto forma di dialogo spiega in modo chiaro la differenza tra i diversi tipi di Test Doubles: The Little Mocker.