首页 > 解决方案 > 使用 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.

标签: clojureclojure-testing

解决方案


你没有打电话run。现在你正在2与函数进行比较。使用(= 2 (run)).


推荐阅读