测试返回布尔值的函数

时间:2012-12-24 20:33:40

标签: clojure

我可能有一个最简单的测试失败了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

1 个答案:

答案 0 :(得分:8)

您在(true)表达式的第3行调用true作为函数:with-test。它应该只是true,没有周围的括号。

您可以进一步简化表达,因为bool-function已经返回true

 (with-test
      (defn bool-function [] 
        true)
      (is (bool-function)))