我可以让 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
我在 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