testing - unitarias - stubs pruebas
Software de prueba: fake vs stub (3)
Hay bastantes escritos sobre stub vs mocks, pero no puedo ver la verdadera diferencia entre fake y stub. ¿Alguien puede aclararlo?
Supongo que se refiere a la terminología que introdujo Meszaros. Martin Fowler también los menciona regularmente. Creo que explica la diferencia bastante bien en ese artículo.
Sin embargo, lo intentaré de nuevo en mis propias palabras :)
A Fake está más cerca de una implementación en el mundo real que un stub. Los Stubs contienen básicamente respuestas hard-coded a una solicitud esperada; se usan comúnmente en pruebas unitarias, pero son incapaces de manejar entradas que no sean las preprogramadas.
Las falsificaciones tienen una implementación más real, como algún tipo de estado que se pueda mantener, por ejemplo. Pueden ser útiles para las pruebas del sistema, así como para fines de prueba de la unidad, pero no están destinados para el uso de producción debido a alguna limitación o requisito de calidad.
Un falso tiene el mismo comportamiento que lo que reemplaza.
Un talón tiene un conjunto "fijo" de respuestas "enlatadas" que son específicas para su (s) prueba (s).
Un simulacro tiene un conjunto de expectativas sobre las llamadas que se realizan. Si no se cumplen estas expectativas, la prueba es fallida.
Todos estos son similares en cuanto a que reemplazan a los colaboradores de producción que codifican bajo los usos de prueba.