在Leiningen打印测试名称

时间:2011-10-17 20:09:56

标签: unit-testing clojure leiningen

嗨伙计们:我想在他们运行时打印我的每个leiningen测试方法。我有一个相对简单的lein测试文件:

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

(deftest test1 [] .....

我想在运行测试时看到“test1”在repl上打印出来。是否有一种简单的方法来打印方法名称(通过在myfixture中调用b的方法,或者在“lein test”的调用中)?

1 个答案:

答案 0 :(得分: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可能值得一试。