我有一个leiningen插件,包含以下功能:
(defn vscode-test
"Simple test run"
[project & args]
(leiningen.core.eval/eval-in-project project `(clojure.test/run-all-tests)))
当我使用lein vscode-test
在project.clj
文件clojure.test/run-all-tests
运行的Clojure项目中运行时,但它没有在项目中找到任何测试。请注意,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"]])
为什么插件没有看到测试?
答案 0 :(得分:1)
clojure.test/run-all-tests
运行所有当前定义的测试。 lein test
首先在test
目录中加载测试定义,然后调用clojure.test
代码。
换句话说;你没有运行任何测试,因为你提供的代码没有加载/需要包含你的测试的命名空间。