我可能有一个最简单的测试失败了Clojure新手的相当混乱的消息。
(ns leiningen.booltest
(:use clojure.test))
(with-test
(defn bool-function []
(true))
(is (= (bool-function) true))
)
ERROR in (bool-function) (booltest.clj:10)
expected: (= (bool-function) true)
actual: java.lang.ClassCastException: java.lang.Boolean cannot be cast to clojure.lang.IFn
答案 0 :(得分:8)
您在(true)
表达式的第3行调用true作为函数:with-test
。它应该只是true
,没有周围的括号。
您可以进一步简化表达,因为bool-function
已经返回true
:
(with-test
(defn bool-function []
true)
(is (bool-function)))