2011-10-14 18 views
9

Ciao ragazzi: ho notato che leiningen ha un ottimo plug-in test di unità - basta inserire "lein test" :). Tuttavia, non è chiaro come "trova" i file di test. C'è una cartella specifica di cui ho bisogno per inserirli? Oppure, se sta solo analizzando i namespace (che è quello che dice nei lein docs), come faccio a sapere quale spazio dei nomi devo usare per leiningen per vedere i miei test?Come aggiungere test unitari a un progetto Leiningen?

Stavo pensando semplicemente a creare un file di test, chiamato tests.clj. Un modello di esempio sarebbe davvero bello ...

risposta

8

Al livello superiore crea una directory test /, quindi crea un file, ad esempio mytests.clj. Ecco un esempio (avvertimento: non ho fatto compilare questo, ma semplificato un controllo esistente):

(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

quando leiningen crea un progetto con ll creerà la directory di test che dovrebbe essere già presente con un singolo test in errore. –

+6

Questo codice non riesce "Causato da: java.io.FileNotFoundException: Impossibile trovare mytests__init.class o mytests.clj su classpath:" ... È correlato a uno spazio dei nomi? – jayunit100

-3

per Lein versione 2.7.1: {questo è da Linux Mint con Leiningen 2.7.1 su Java 1.8. 0_121 Java HotSpot (TM) a 64 bit di server VM} ho voluto fare di più con i test e ora hanno questa nuova conoscenza ...

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

allora si potrebbe aggiungere: (print "start adding test") e vedere i vostri sforzi. ..