为什么 clojure.test/run-all-tests 在 运行 来自 leiningen 插件时找不到测试?
Why doesn't clojure.test/run-all-tests find tests when run from a leiningen plugin?
我有一个包含以下功能的 leiningen 插件:
(defn vscode-test
"Simple test run"
[project & args]
(leiningen.core.eval/eval-in-project project `(clojure.test/run-all-tests)))
当我在 Clojure 项目中 运行 lein vscode-test
使用 project.clj
文件 clojure.test/run-all-tests
运行s 时,它没有找到任何文件项目中的测试。请注意 lein test
执行 运行 所有测试。
我的project.clj
是
(defproject repl_test "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:source-paths ["src" "test" "dev"]
:plugins [[vscode-test "0.1.0-SNAPSHOT"]]
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/core.async "0.3.442"]
[org.clojure/tools.namespace "0.2.11"]])
为什么插件看不到测试?
clojure.test/run-all-tests
运行所有当前定义的测试。 lein test
首先加载 test
目录中的测试定义,然后调用 clojure.test
代码。
换句话说;您没有 运行 任何测试,因为您提供的代码不会加载/需要包含您的测试的命名空间。
我有一个包含以下功能的 leiningen 插件:
(defn vscode-test
"Simple test run"
[project & args]
(leiningen.core.eval/eval-in-project project `(clojure.test/run-all-tests)))
当我在 Clojure 项目中 运行 lein vscode-test
使用 project.clj
文件 clojure.test/run-all-tests
运行s 时,它没有找到任何文件项目中的测试。请注意 lein test
执行 运行 所有测试。
我的project.clj
是
(defproject repl_test "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:source-paths ["src" "test" "dev"]
:plugins [[vscode-test "0.1.0-SNAPSHOT"]]
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/core.async "0.3.442"]
[org.clojure/tools.namespace "0.2.11"]])
为什么插件看不到测试?
clojure.test/run-all-tests
运行所有当前定义的测试。 lein test
首先加载 test
目录中的测试定义,然后调用 clojure.test
代码。
换句话说;您没有 运行 任何测试,因为您提供的代码不会加载/需要包含您的测试的命名空间。