Clojure 我可以让lein cloverage跳过特定测试吗?
我在莱宁根的一个项目中,该项目的集成测试注释如下Clojure 我可以让lein cloverage跳过特定测试吗?,clojure,leiningen,Clojure,Leiningen,我在莱宁根的一个项目中,该项目的集成测试注释如下 (deftest ^:manual test-v3-preview (preview-client "http://localhost:10313/v3/preview")) 当Ilein cloverage时,这些测试总是失败。是否有参数可以传递给lein cloverage跳过^manual测试?自cloverage1.0.11(当前未发布)起,您可以指定一个:test ns regex选项。请参阅自述文件中的文档 使用,您可以运行所有
(deftest ^:manual test-v3-preview
(preview-client "http://localhost:10313/v3/preview"))
当I
lein cloverage
时,这些测试总是失败。是否有参数可以传递给lein cloverage跳过^manual
测试?自cloverage1.0.11
(当前未发布)起,您可以指定一个:test ns regex
选项。请参阅自述文件中的文档
使用,您可以运行所有不包含前瞻中字符串的名称空间。例如
#"^((?!manual-test).)*$"
这是一个完整的例子,因为我花了太长时间来研究如何做到这一点。您还需要将cloverage版本指定为环境变量,否则它将使用最新发布的版本
在project.clj
中:
:profiles
{:cloverage {:plugins [[lein-cloverage "1.0.11-20180518.155437-26"]]
:cloverage {:test-ns-regex [#"^((?!manual-test).)*$"]}}}
然后运行它:
CLOVERAGE_VERSION=1.0.11-20180518.155428-32 lein with-profile +test,+cloverage cloverage
唉。3天,没有回答。我怀疑如果不修改Cloverage本身,这是不可能的:将其扩展到多个被排除的名称空间是留给读者的练习:-DEnded必须排除多个名称空间。您可以将任何内容放在前瞻中,因此类似这样的内容可以工作
#“^((?!(手动集成)-测试)。*$”