Clojure REPL测试通过,lein测试命令行测试失败

Clojure REPL测试通过,lein测试命令行测试失败,clojure,Clojure,如果从项目目录中运行lein test,会出现如下奇怪错误: 主线程java.lang.ClassNotFoundException中的异常:clojure.set 我在应用程序中的一个位置使用clojure.set 如果我试图从命令行运行deftest中定义的单个测试,那么我会发现它在类路径上找不到该测试 如果我从REPL运行测试,一切都会通过 如果可能的话,我希望能够从命令行运行。有人能告诉我问题出在哪里吗?运行测试只运行repl所在命名空间中的测试。可能问题出在该名称空间之外的测试中。看起

如果从项目目录中运行lein test,会出现如下奇怪错误:

主线程java.lang.ClassNotFoundException中的异常:clojure.set

我在应用程序中的一个位置使用clojure.set

如果我试图从命令行运行deftest中定义的单个测试,那么我会发现它在类路径上找不到该测试

如果我从REPL运行测试,一切都会通过


如果可能的话,我希望能够从命令行运行。有人能告诉我问题出在哪里吗?

运行测试只运行repl所在命名空间中的测试。可能问题出在该名称空间之外的测试中。

看起来您需要在使用它的名称空间中使用clojure.set


它在repl中不需要require,因为nrepl在中自己的代码中需要它。但是当运行lein测试时,需要的测试不会发生。

运行所有测试也会通过REPL,我认为它会测试多个名称空间,对吗?运行所有测试运行所有加载的测试。它不会测试repl未要求的任何测试命名空间。lein test为您查找并加载测试名称空间,但需要在repl中手动完成。是否需要clojure.set?默认情况下不会加载它,尽管nrepl会加载它。