2012-12-24 241 views
3

我有可能是最簡單的測試失敗與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 

回答

8

你是作爲一個函數調用真正:(true)with-test表達的第3行。它應該簡單地是true,沒有括號。

可以進一步簡化你的表情,因爲bool-function已經返回true

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