2011-10-17 57 views
3

嗨,大家好:我想打印每個leiningen測試方法,因爲它們正在運行。我有一個雷音測試文件,它是相對簡單:在Leiningen打印測試名稱

(defn myfixture [b] 
    (do 
    (println "start") 
    (b) 
    (println "end") 
) 
) 

(deftest test1 [] ..... 

我希望看到「測試1」打印出來的REPL當我運行測試。有沒有簡單的方法來打印方法名稱(通過在myfixture中調用b的方法,或者在調用「lein test」中)?

回答

2

你可以得到這樣的功能的名稱:

(defn function-name [f] 
    (:name (meta f))) 

(defn my-func [] 
    (println "Hello, world!")) 

(let [f my-func] 
    (function-name f)) 
;=> my-func 

我不知道,如果在常規clojure.test存在,你正在尋找的設施,但midje有一些很廣泛的燈具設施,this link也許值得一試。

+0

Humm ...這沒有用。這會打印出null(use-fixtures:每個#(println「Function meta是」(meta%)))從「lein test」打印並添加到core_test.clj(註釋的格式選項不是很多)。 –