clojure - 使用 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))
.
推荐阅读
- c++ - C++ 强制在子类中实现方法但具有不同的签名
- image - 如何从 wand.image.Image 读取图像而不将其保存到驱动器
- c# - 将 XML 字符串转换为 HTML
- android - Firebase 消息未收到
- javascript - JQuery - 在分隔符替代后获取值?
- c# - 在 web.config 文件中设置 oracle 本机加密
- javascript - ShuffleJS 过滤器 OR + AND 同时
- javascript - 如何使 CSS 检查选择器在 IE 和 Chrome 中工作
- gradle - IntelliJ IDEA 2018.2,Gradle 4.9,类路径中未引用外部库
- python - 使用 Python 进程进行多处理