Test Unitarios

Cristian Rengifo
2 min readFeb 21, 2020

--

En el articulo pasado creamos una Api Rest usando Phoenix Framework, algo relevante fue el poco código que se ingreso ya que el generador nos ahorró gran trabajo, dentro del código autogenerado encontramos la carpeta test en la cual se generan unos test unitarios, estos test unitarios usan ExUnit, la librería por defecto para la realización de test unitarios, este articulo pretende ser corto y solo dar una introducción a los test unitarios.

Para correr los test unitarios, ingresamos en la terminal mix test y arrojará lo siguiente en la terminal

Al finalizar los test unitarios encontramos un error donde nos indica que no hace match en el Fallback.

** (FunctionClauseError) no function clause matching in CarsWeb.FallbackController.call/2

Es un error muy facil de solucionar, lo primero es abrir el archivo

lib/cars_web/controllers/fallback_controller.ex

Donde identificamos que solo se está validando el caso :not_found, pero para los demás casos no hacemos match como por ejemplo el ingreso de datos inválidos :unprocessable_entity, lo único que se debe hacer es agregar un caso genérico y tendremos corriendo nuestros test unitarios.

Corremos nuevamente mix test y observamos que ahora pasan los 16 casos creados por Phoenix.

Los test unitarios son una parte importante en el desarrollo de las aplicaciones, a medida que agregamos casos de validación estos no cierran la brecha a la hora de dejar pasar errores en producción.

--

--

Cristian Rengifo

Software Developer #ASPNET, #WebApi, #MVC, #Angular, #Informix4GL and learning #Elixir