Hay bastantes escritos sobre stub vs mocks, pero no puedo ver la verdadera diferencia entre fake y stub. ¿Alguien puede aclararlo?Software de prueba: fake vs stub
Respuesta
Asumo que usted se refiere a la terminología introducida por Meszaros. Martin Fowler también hace mentions them regularmente. Creo que explica la diferencia bastante bien en ese artículo.
Sin embargo, voy a tratar de nuevo en mis propias palabras :)
una falsificación está más cerca de una implementación en el mundo real que un trozo. 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 pueda conservarse, 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.
Estos podrían ayudar a
Eso El primer enlace muestra cuán complejo es este tema y cómo dos personas parecen no compartir las mismas definiciones. A modo de ejemplo, la respuesta a la pregunta de StackOverflow [¿Cuál es la diferencia entre falsificar, burlarse y anotar?] (Http://stackoverflow.com/questions/346372/whats-the-difference-between-faking-mocking-and-stubbing) parece revertir las definiciones de Stub y Fake en comparación con la respuesta de Thorarin a esta pregunta. –
Perdón por nitpick, pero es una buena práctica resumir las partes relevantes de los enlaces en caso de que mueran. Una respuesta debería ser más que enlaces. – kdbanman
A falso tiene el mismo comportamiento que el que reemplaza.
A stub tiene un conjunto "fijo" de respuestas "enlatadas" que son específicas de su (s) prueba (s).
A 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 ya que reemplazan a los colaboradores de producción que codifican para usos de prueba.
- 1. Una visión general de la terminología de pruebas unitarias (stub vs mock, integración vs. interacción)?
- 2. Fake Incoming Call Android
- 3. Fake Poor Internet
- 4. Program Manager vs. Software Architect
- 5. Pruebas manuales Vs Prueba automatizada
- 6. HKEY_CURRENT_USER \ Software \ Wow6432Node \ Classes vs HKEY_CURRENT_USER \ Software \ Classes \ Wow6432Node
- 7. Mock/stub constructor
- 8. Buena ingeniería de software vs. Seguridad
- 9. Predictivo vs diseño de software reactivo
- 10. Casos de prueba VS comunicado ASERCIÓN
- 11. burla vs. prueba DB?
- 12. JavaScript: prueba vs exec
- 13. java.lang.RuntimeException: Stub! - ¿Cobertura del código de Android?
- 14. Prueba unitaria básica vs. Prueba unitaria
- 15. El "Software instalado" vs "Características" vs "Plug-ins" en Eclipse
- 16. Blogging Software - Wordpress vs BlogEngine.NET vs Anything else
- 17. Prueba de carga vs. tensión
- 18. Intento de stub android Clase de actividad utilizando PowerMockito arroja RuntimeException "Stub!"
- 19. Prueba de unidad de software concurrente: ¿qué haces?
- 20. ¿Cómo puedo reemplazar una llamada stub ya declarada con una llamada stub diferente?
- 21. Fake a real call en Android
- 22. Fake a GWT Llamada RPC sincrónica
- 23. Cómo acceder a webkit-fake-url
- 24. Comprender cómo funciona la prueba de software y qué probar
- 25. Necesito consejos para diseñar el software 'a prueba de grietas'
- 26. ¿Cómo crear una versión de prueba del software .NET?
- 27. Mockito: how to stub getter setter
- 28. Mejor práctica: prueba vs rescate
- 29. Rieles: rake db: prueba: preparar Vs prueba de rastrillo: Preparar
- 30. Cómo cambiar "Stub de método de método" para lanzar NotImplementedException en VS?
posible duplicado de [¿Cuál es la diferencia entre la falsificación y burlona, y tropezar?] (Http://stackoverflow.com/questions/346372/whats-the-difference-between-faking-mocking-and-stubbing) – nawfal