Diferença entre Mock / Stub / Spy no framework de teste Spock

Não entendo a diferença entre Mock, Stub e Spy nos testes de Spock e os tutoriais que tenho visto online não os explicam em detalhes.