使用clojure.test

问题描述

我刚开始和Clojure一起玩,并且在基本方面遇到困难。我只想测试一个执行1 + 1的简单函数

这里是core.clj

(ns core)

(defn run []
  (+ 1 1))

这是测试,core-test.clj

(ns core-test
  (:require [clojure.test :refer :all]
            [core :refer :all]))

(deftest a-test
  (testing "Core"
    (is (= 2 run))))

这是结果

lein test core-test

lein test :only core-test/a-test

FAIL in (a-test) (core_test.clj:7)
Core
expected: (= 2 run)
  actual: (not (= 2 #object[core$run 0x12f8b1d8 "core$run@12f8b1d8"]))

Ran 1 tests containing 1 assertions.
1 failures,0 errors.
Tests Failed.

解决方法

您没有呼叫run。现在,您正在将2与函数进行比较。使用(= 2 (run))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...