El build falla porque los tests no pueden controlar a una ruleta que devuelve números al azar (ver explicación más abajo)
Muestra cómo testear con mocks y stubs cuando tenemos valores aleatorios o tenemos que evitar que manden mails cada vez que ejecutamos los tests.
- Testeo unitario
- Generación de stubs
- Generación de tests de expectativa mediante el uso de mocks que provee Mockk
Cada branch tiene una introducción y una explicación detallada.
master
: los tests son flaky. Fallan (casi siempre) porque la ruleta devuelve números en forma aleatoria, y no es posible repetir las apuestas ganadoras.stubbing-roulette
: arreglamos los flaky tests implementando un stub manual que permite configurar el número ganador de la ruleta virtual.stubbing-roulette-mockk
: el mismo stub del branchstubbing-roulette
pero implementado con el framework Mockk. Tanto este branch como el anterior muestran tests de estado.mock-tests
: usamos un mock con Mockk que simula el envío de mails para mostrar cómo es un test de comportamiento.