Forum: Rails-ES Mocks y Stubs

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ruben D. (Guest)
on 2007-05-11 19:31
(Received via mailing list)
Que tal amigos, estoy jugando hace poco con RSpec, la verdad que me
atrapo :), pero hay un par de conceptos que no me quedan muy claros del
todo a pesar de leer varios aritculos gringos, basicamente quisiera
saber cual seria la definicion de un Mock y un Stub, y en que casos se
usarian, desde ya agradezco por sus aportes, es la comunidad mas activa
que he visto en mi trayectoria por el software libre ;).

Gracias.
Ruben.

PD: Tendra que ver algo mi pasado oscuro con PHP?
Raul M. (Guest)
on 2007-05-14 12:29
(Received via mailing list)
Hola Rubén,

Ruben Alexis D.
escribió:> Que tal amigos, estoy jugando hace poco con RSpec, la verdad que me
> atrapo :), pero hay un par de conceptos que no me quedan muy claros del
> todo a pesar de leer varios aritculos gringos, basicamente quisiera
> saber cual seria la definicion de un Mock y un Stub, y en que casos se
> usarian

Vaya por delante que no soy, ni mucho menos, un experto en temas de
testing. La diferencia está -creo yo- muy bien explicada en este
artículo de Martin F.:

   http://martinfowler.com/articles/mocksArentStubs.html

A grandes rasgos viene a decir que tanto stubs como mocks son 'doubles'
(objetos ficticios que reemplazan a los que colaboran con el objeto que
estás probando). La diferencia entre ambos radica en que, mientras que
los stubs sirven para comprobar el estado de los objetos, los mocks
permiten comprobar en detalle las llamadas realizadas entre ellos.

Según Fowler, el enfoque del TDD tradicional es "usaré objetos reales en
mis pruebas, o stubs si los reales no son factibles", mientras que en el
  enfoque "mockista" el lema sería "usaré mocks siempre que pueda".
Supongo que cada uno escoge, según su filosofía y el tipo de objeto a
probar, usar uno u otro enfoque.

Termino con un enlace a un libro online a punto de publicarse en papel,
y que IMHO tiene pinta de convertirse en una referencia obligada para
todos estos temas:

   http://xunitpatterns.com

> PD: Tendra que ver algo mi pasado oscuro con PHP?

Jajaja, espero que no, yo también he cacharreado bastante con PHP :D

Saludos,
   Raúl Murciano
Ruben D. (Guest)
on 2007-05-14 20:43
(Received via mailing list)
Vale Raul, muchas gracias, ahora va quedando algo mas claro el concepto.

Salud!
Ruben.
This topic is locked and can not be replied to.