【问题标题】:How to print test names in Leiningen?如何在 Leiningen 打印测试名称?
【发布时间】:2011-12-09 13:59:40
【问题描述】:

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

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

(deftest test1 [] .....

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

【问题讨论】:

    标签: unit-testing clojure leiningen


    【解决方案1】:

    你可以像这样得到一个函数的名字:

    (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 可能值得一试。

    【讨论】:

    • 嗯...这不起作用。这将打印 null, (use-fixtures :each #(println " Function meta is " (meta %))) 当从 "lein test" 打印并添加到 core_test.clj 时(cmets 的格式选项不多。)
    猜你喜欢
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 2015-12-08
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多