Clojure:
编写测试

如何做:

Clojure 利用JVM,支持各种测试框架。然而,一个常用的内置库是 clojure.test。这里有一个简单的例子:

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

(deftest test-addition
  (testing "Addition functionality"
    (is (= 4 (add 2 2)))
    (is (= 7 (add 3 4)))))

(run-tests)

运行这个测试后,你会看到类似于以下的输出:

Testing example.test

Ran 2 tests containing 2 assertions.
0 failures, 0 errors.

对于那些寻求更丰富功能的选项的人,可以利用像 Midjetest.check 这样的第三方库。这里展示了如何用 Midje 进行类似的测试:

首先,将 Midje 添加到你的 project.clj 依赖中:

[midje "1.9.9"]

然后,你的 Midje 测试可能看起来像这样:

(ns example.test
  (:require [midje.sweet :refer :all]
            [example.core :refer :all]))

(fact "Testing addition"
  (add 2 2) => 4
  (add 3 4) => 7)

通过 Midje 运行测试后,使用 lein midje,输出会显示类似于以下内容:

All checks (2) succeeded.