Python doctests asocia pruebas simples con el código fuente (en Python se encuentran en la documentación de la función). More info and examples here.Clojure equivalente a Python doctest?
¿Hay algo similar para Clojure?
Estoy al tanto de las pruebas unitarias con clojure.test
, pero buscando algo más estrechamente integrado con la fuente (generalmente las pruebas unitarias están en diferentes archivos; aquí quiero tener la prueba "dentro" del defn
).
Buscando alrededor encontré this, pero parece muy poco claro (las pruebas están en texto real, como Python - seguramente una macro que se extiende defn
sería preferible?).
O tal vez hay alguna otra forma de resolver el problema general, que es que tengo algunas pruebas (generalmente cosas simples que demuestran las propiedades básicas de la función) que se incluirían mejor con la documentación (estoy usando marginalia) que en archivos de prueba de unidades separadas.
actualización Aquí hay un ejemplo: tengo una función que calcula la distancia (en manhattan) de un rectángulo de píxeles al centro de la imagen. Eso suena simple, pero se complica por cosas como la diferencia en el significado de "centro" para imágenes con números impares o pares de píxeles en los lados, o en qué parte del bloque se miden. Así que tuve que escribir algunas pruebas solo para obtener el código correcto. Y ahora miro los documentos y realmente sería mejor si los documentos incluyeran esas pruebas porque explican mejor que las palabras lo que hace la función ...
se ve perfecto! no tenía idea de que existía. pero ¿cómo lo ejecutas? ¿Lein prueba llamarlo? –
use test function: (test # 'mymax), doc: http://clojuredocs.org/clojure_core/clojure.core/test –