2011-10-14 7 views
9

Hola chicos: me di cuenta de que leiningen tiene un excelente plugin de prueba de unidad: simplemente ingresas "lein test" :). Sin embargo, no está claro cómo "encuentra" los archivos de prueba. ¿Hay una carpeta específica que necesito para ponerlos? O bien, si solo está escaneando espacios de nombres (que es lo que dice en los documentos lein), ¿cómo sé qué espacio de nombres necesito usar para que leiningen vea mis pruebas?¿Cómo agrego pruebas unitarias a un proyecto de Leiningen?

Estaba pensando en simplemente hacer un archivo de prueba, llamado tests.clj. Una plantilla de muestra sería realmente agradable ...

Respuesta

8

En el nivel superior haga una prueba/directorio y luego cree un archivo, digamos mytests.clj. He aquí una muestra (advertencia: Yo en realidad no recopilar la información, pero se simplifica un análisis existente):

(ns mytests 
    (:use clojure.test)) 

(defn myfixture [block] 
    (do 
     (println "before test") 
     (block) 
     (println "after test"))) 

(use-fixtures :each myfixture) 

(deftest mytest 
    (is (= 2 (+ 1 1)))) 
+4

cuando leiningen crea un proyecto que wi Crearemos el directorio de prueba, ya debería estar allí con una sola prueba de falla. –

+6

Este código falla "Causado por: java.io.FileNotFoundException: No se pudo ubicar mytests__init.class o mytests.clj en classpath:" ... ¿Está relacionado con un espacio de nombres? – jayunit100

-3

para la versión 2.7.1 Lein: {esto es de Linux Mint con Leiningen 2.7.1 de Java 1.8. 0_121 Java HotSpot (TM) de 64 bits del servidor VM} que quería hacer algo más con las pruebas y ahora tienen este nuevo conocimiento ...

lein new <projname> 
cd <projname> 
tree -d 
cat test/<projname>/core_test.clj 
lein test 
-> observe failing test template even on blank new project 

entonces se puede inscribir: (print "start adding test") y ver sus esfuerzos. ..