Cómo usar clojure.test para pruebas unitarias en Clojure – Resuelto

clojure.test es la librería estándar de Clojure para realizar pruebas unitarias. Permite definir pruebas automatizadas y comprobar que el código funcione correctamente bajo diferentes condiciones.

Uso básico de clojure.test

Primero, necesitamos incluir clojure.test en nuestro archivo de código. Luego, podemos definir una función de prueba utilizando deftest y comprobar si una expresión devuelve el valor esperado con is.

(ns mi-prueba
  (:require [clojure.test :refer :all]))

(deftest prueba-suma
  (is (= (+ 1 2) 3)))

(run-tests 'mi-prueba)

Ejecutando pruebas

Después de definir las pruebas, puedes ejecutarlas con run-tests. Si las pruebas pasan, no se imprimirá nada. Si alguna falla, se mostrará un mensaje de error indicando qué prueba falló.

Pruebas más complejas

También puedes usar is para verificar condiciones más complejas, como funciones que lanzan excepciones o verificaciones con thrown?.

(deftest prueba-excepcion
  (is (thrown? ArithmeticException (/ 1 0))))

Conclusión

El uso de clojure.test para pruebas unitarias es una práctica recomendada en Clojure, lo que te permite garantizar que tu código funcione correctamente a medida que lo desarrollas. Asegúrate de incluir pruebas para verificar todas las condiciones posibles.