Cómo usar clojure.test para pruebas de propiedades – Resuelto

Además de las pruebas unitarias, clojure.test permite realizar pruebas de propiedades, lo cual nos ayuda a verificar el comportamiento general de funciones sin necesidad de escribir casos específicos.

Escribir una prueba de propiedad

Podemos usar la función is para verificar propiedades:

(is (even? (+ 2 2))) ;; Verifica que el resultado sea par

Generar datos de prueba aleatorios

Usamos generadores de datos aleatorios para probar una propiedad con diferentes entradas:

(use 'clojure.test.check) (defspec suma-es-commutativa 100 (for-all [a int? b int?] (= (+ a b) (+ b a))))