测试返回布尔值的函数

Yur*_*rev 3 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
Run Code Online (Sandbox Code Playgroud)

Mic*_*ent 8

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

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

 (with-test
      (defn bool-function [] 
        true)
      (is (bool-function)))
Run Code Online (Sandbox Code Playgroud)