mocks y dobles

41
MOCKS Y DOBLES PARA PRUEBAS ANDREÍNA ROMERO andreina.romero@ceiba. com.co

Upload: andreina-romero

Post on 13-Apr-2017

46 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Mocks y dobles

MOCKS Y DOBLES PARA PRUEBAS

ANDREÍNA [email protected]

Page 2: Mocks y dobles

NO USA DOBLES

Page 3: Mocks y dobles

¿Para qué se utilizan?

Page 4: Mocks y dobles

OBJETO REAL

DOBLEOBJETO A PROBAR

Page 5: Mocks y dobles

{ acciones1(); accionesDeColaborador(); acciones2(); acciones3();

}

{ unaAccionDeColaborador(); otraAccionDeColaborador();}

Page 6: Mocks y dobles

Un ejemplo

Page 7: Mocks y dobles

Un ejemplo

Test Dobles al rescate

Page 8: Mocks y dobles

Un ejemplo

Page 9: Mocks y dobles
Page 10: Mocks y dobles

Test Double

Test Stub Fake Object Test Spy Mock Object Test Dummy

Page 11: Mocks y dobles

Stubs

Page 12: Mocks y dobles

Stub: a small piece

Page 13: Mocks y dobles

Un ejemplo de Stub

Page 14: Mocks y dobles

Un ejemplo de Stub

Page 15: Mocks y dobles

Un ejemplo de Stub

Page 16: Mocks y dobles

Fake

Page 17: Mocks y dobles

Fake: not what it seems to be

Page 18: Mocks y dobles

Un ejemplo de Fake

Page 19: Mocks y dobles

Un ejemplo de Fake

Page 20: Mocks y dobles

Un ejemplo de Fake

Page 21: Mocks y dobles

Spy

Page 22: Mocks y dobles

Spy: someone who secretly watches other people

Page 23: Mocks y dobles

No usar Spy en un código bien diseñado

Page 24: Mocks y dobles

Un ejemplo de Spy

Page 25: Mocks y dobles

Un ejemplo de Spy

Page 26: Mocks y dobles

Un ejemplo de Spy

Page 27: Mocks y dobles

Mock

Page 28: Mocks y dobles

Mock: to imitate or mimic

Page 29: Mocks y dobles

Un ejemplo de Mock

Page 30: Mocks y dobles

Un ejemplo de Mock

Page 31: Mocks y dobles

Un ejemplo de Mock

Page 32: Mocks y dobles

Un ejemplo de Mock

Page 33: Mocks y dobles

Dummy

Page 34: Mocks y dobles

Dummy: an imitation or copy of something, such as for use in a display

Page 35: Mocks y dobles

Un ejemplo de Dummy

Page 36: Mocks y dobles

Resumen

Tiene una lógica sencilla de procesamiento, se puede usar para agilizar las pruebas

Fake

Page 37: Mocks y dobles

Resumen

Se pueden reemplazar algunos comportamientos y el resto no está implementado, fallará inmediatamente si no se obtiene lo que se espera.

Mock

Page 38: Mocks y dobles

Resumen

Es un objeto valor, no sustituye al objeto colaborador

Dummy

Page 39: Mocks y dobles

Resumen

Se pueden reemplazar algunos comportamientos y el resto llama a los métodos reales

Spy

Page 40: Mocks y dobles

Resumen

Quemar datos a retornar sin una lógica de procesamiento. Es decir, siempre retorna el mismo valor para una entrada determinada

Stub

Page 41: Mocks y dobles

● Cada herramienta de mock tiene su estilo

● Facilitar la inyección de los objetos colaboradores para permitir el uso de dobles en las pruebas.

● Ejemplos aqui:

https://github.com/andreinaromero/doubletest