Unterschied zwischen Mock / Stub / Spy im Spock-Test-Framework

Ich verstehe den Unterschied zwischen Mock, Stub und Spy beim Spock-Testen nicht und die Tutorials, die ich mir online angesehen habe, erklären sie nicht im Detail.