Testing in Clojure
Clojure already comes with a unit testing support built-in, as a matter of fact Leiningen has already created a test for us; let's take a look at it right now.
Open the test/ns_playground/core_test.clj file, you should be able to see this code:
(ns ns-playground.core-test
(:require [clojure.test :refer :all]
[ns-playground.core :refer :all]))
(deftest a-test
(testing "FIXME, I fail."
(is (= 0 1))))Again, as you can see, we are using :require to include functions from the clojure.test and the ns-playground.core packages.
Note
Remember, the :refer :all works similar to how char import static clojure.test.* will work in Java.
Testing from the command line
Let's first learn how to run these tests. From the command line, you can run:
lein test
You should get the following output:
lein test ns-playground.core-test lein test :only ns-playground.core-test/a-test FAIL in (a-test) (core_test.clj:7) FIXME, I fail. expected: (= 0 1) actual: (not (...