我使用以下命令运行测试:
lein midje :autotest
我得到了错误:
线程"main“导出中出现异常:未找到命名空间:java.lang.Exception-is.json-export
文件位于: sprint- is /src/sprint_is/json_export.clj
它包含代码:
(ns sprint-is.json-export)
(require [[noir.response :as response]])
(defn serialize [value] (response/json value))
即使我没有测试文件,它也会抛出这个错误。当我创建测试文件时,我得到了类似的错误:
未找到命名空间: sprint-is.test.json-export
测试位于: sprint- is / Test /sprint_is/json_export.clj
包含以下内容:
(ns sprint-is.test.json-export
(:require [sprint-is.json-export :as json-export]))
(fact "module can serialize scalar values"
(json-export/serialize 123) => 123)
当我尝试从REPL导入它时,它也找不到名称空间。我尝试重命名文件,移动文件,重命名目录,删除ns (它可以编译,但不起作用),在Clojure IRC上被问到。我将代码与其他项目(包括那些在我的计算机上工作的项目)进行了比较,结果似乎是一样的。
发布于 2013-04-29 21:28:29
您的某个名称空间中存在编译错误,我怀疑是sprint-is.json-export
在bitbucket上,你有这个:
(ns sprint-is.json-export)
(require [[noir.response :as response]])
(defn serialize [value] (response/json value))
它不会编译,因为没有定义noir.response
和response
。
你应该有:
(ns sprint-is.json-export
(:require [noir.response :as response]))
(defn serialize [value] (response/json value))
如果您坚持在ns
宏外使用require
,则可以执行以下操作,但请注意,这不是惯用的用法。
(ns sprint-is.json-export)
(require '[noir.response :as response])
(defn serialize [value] (response/json value))
https://stackoverflow.com/questions/16279009
复制相似问题