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
4

1 に答える 1

8

関数として true を呼び出しています:式(true)の 3 行目with-testtrueかっこで囲まずに、単に にする必要があります。

bool-functionすでに を返しているため、式をさらに単純化できますtrue

 (with-test
      (defn bool-function [] 
        true)
      (is (bool-function)))
于 2012-12-24T20:42:54.150 に答える