Clojure 如何让Leiningen在测试前运行钩子?
我希望在CLI启动测试运行之前运行函数,以便:Clojure 如何让Leiningen在测试前运行钩子?,clojure,leiningen,Clojure,Leiningen,我希望在CLI启动测试运行之前运行函数,以便: $ lein test …例如,将配置日志以抑制严重性
$ lein test
…例如,将配置日志以抑制严重性<警告的消息
最好的方法是什么?用钩子?如果是这样,我如何将钩子执行限制为仅“测试”?在钩子执行期间,我必须查找当前任务吗 这听起来像是可以(取决于用于日志记录的内容)在大多数测试框架提供的测试装置中完成,例如在clojure.test中:
(clojure.test/use-fixtures
:once
(fn [f]
(let [l (get-level)]
(set-level! :warn)
(try
(f)
(finally
(set-level! l))))))
f
是包含完整测试运行的函数,在日志级别的更改之间(伪代码!)调用该函数。是的,这似乎是最好的方法。leiningen测试任务面向通过扫描名称空间和基于元数据选择测试子集来定位测试。