2011-10-14 15 views
9

Cześć chłopaki: Zauważyłem, że leiningen ma wielką wtyczkę testową jednostek - po prostu wpisujesz "test lein" :). Nie jest jednak jasne, w jaki sposób "znajduje" pliki testowe. Czy istnieje konkretny folder, w którym muszę je umieścić? Lub, jeśli jego tylko skanowanie przestrzeni nazw (co jest to, co mówi w dokumentacji Lein), skąd mam wiedzieć, jakiego obszaru nazw muszę użyć do leiningen, aby zobaczyć moje testy?Jak dodać testy jednostkowe do projektu Leiningen?

Myślałem o zrobieniu jednego pliku testowego o nazwie tests.clj. Przykładowy szablon byłby naprawdę miły ...

Odpowiedz

8

Na najwyższym poziomie utwórz katalog test /, a następnie utwórz plik, na przykład mytests.clj. Oto próbka (zastrzeżenie: ja faktycznie nie skompilować, ale uproszczone istniejący test):

(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

kiedy leiningen tworzy projekt, utworzę katalog testowy, który powinien już tam być z pojedynczym testem niepowodzenia. –

+6

Ten kod nie działa "Przyczyna: java.io.FileNotFoundException: Nie można znaleźć mytests__init.class lub mytests.clj na ścieżce klasy:" ... Czy jest to powiązane z przestrzenią nazw? – jayunit100

-3

dla Lein wersji 2.7.1: {to jest z Linux Mint z Leiningen 2.7.1 na Java 1.8. 0_121 Java HotSpot (TM) 64-bitowy serwer VM} chciałem zrobić więcej testów, a teraz mają tę nową wiedzę ...

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

następnie można dodać: (print "start adding test") i zobaczyć swoje wysiłki. ..