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.
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 (= 0 1)) Ran 1 tests containing...