Skip to content
Ilya Kabushko edited this page Feb 4, 2020 · 5 revisions

Tests

Herramientas

  • Junit 5
  • Mockito

Tests unitarios

Dobles o Mocks

Tests de integración

  • ApiControllerIT : comprueba el flujo desde que se hace la peticion a la API hasta que se accede a la base de datos. Hace uso de librerias externas para conectarse a la API y a la base de datos. Por lo tanto son de integración

Test de aceptación

Simulan ser un cliente que interacciona con nuestra aplicación. Entrarán en juego todas las implementaciones reales para comprobar que todo el flujo y la integración con la infraestructura se producen satisfactoriamente.

  • El objetivo de estos tests es el de asegurar que la aplicación funciona correctamente y el flujo completo de las peticiones se puede realizar satisfactoriamente.
  • Son los test más lentos de ejecutar ya que tienen un alcance mayor y sí ejecutan operaciones de entrada/salida como inserts en base de datos ya que usan las implementaciones reales de estos componentes.
  • Aportan mayor valor debido al alcance que tienen (nos asegura que absolutamente todo está ejecutandose como esperamos).
  • Al ser los test más lentos de ejecutar, sólo implementaremos una pequeña muestra de las distintas ramificaciones que pueden tomar nuestros casos de uso. Dejando para los test unitarios la responsabilidad de probar cada una de las casuísticas.
  • Se quiere que el entorno sea lo mas parecido al de produccion.
  • Se podria levantar un servio servidor para emular a un tercero cuando devuelve la info de respuesta.
  • Existen frameworks que permiten definir lenguaje mas cercano a negocio que mappean codigo por detras.

Ejemplo aplicación:

  • LoginEndToEnd : Mas enfocado en los casos de uso del negocio prueban la aplicacion

Cobertura de los tests

Clone this wiki locally