我可以让 lein cloverage 跳过特定的测试吗?

Can I make lein cloverage skip specific tests?

我在 Leiningen 项目中,其集成测试注释如下...

(deftest ^:manual test-v3-preview
  (preview-client "http://localhost:10313/v3/preview"))

当我 lein cloverage 时,这些测试总是失败。是否有我可以传递给跳过 ^manual 测试的 lein cloverage 的参数?

自 cloverage 1.0.11(当前未发布)起,您可以指定一个 :test-ns-regex 选项。请参阅自述文件中的文档。

使用 negative lookahead 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