Perbedaan antara Mock / Stub / Spy dalam kerangka uji Spock

Saya tidak mengerti perbedaan antara Mock, Stub, dan Spy dalam pengujian Spock dan tutorial yang saya lihat online tidak menjelaskannya secara rinci.