Тестирование простого вызова функции с помощью 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.

1 ответ

Решение

Ты не звонишь run. Прямо сейчас вы сравниваете 2с функцией. Использовать (= 2 (run)).

Другие вопросы по тегам