Running Tests
Overview
CIDER provides support for running unit tests created using the Clojure core.test library. Tests can be executed from buffers containing Clojure application code, unit test code or from the CIDER REPL.
Hands-On
Open the file palindrome.clj located in the code/clj/cider-tour/src/cider-tour directory of the GitHub project:

In another buffer or frame open the file palindrome_test.clj located in the code/clj/cider-tour/test/cider-tour directory of the GitHub project:

palindrome_test.clj contains the unit tests for functions defined in the cider-tour.palindrome namespace.
Now switch focus back to palindrome.clj and run all unit tests for the cider-tour.palindrome namespace by typing C-c C-t C-n:
CIDER displays a summary of the results in the minibuffer:

For details on test results, CIDER creates a buffer (*cider-test-report*) that provides details on the test execution including any errors:

CIDER provides a Test-Report menu (with shortcut keys) to facilitate navigation and running of tests within (*cider-test-report*) buffer.
Now let's run a specific test. Switch to the palindrome_test.clj buffer, position point within the (deftest string-palindrome-test-pos ...) expression and type C-c C-t C-t. CIDER displays the results for the unit test in the minibuffer:

Now let's fabricate a unit test failure:
- Within the
(deftest string-palindrome-test-pos ...)expression change "racecar" to "racecars". - Type
C-x C-sto save the changes. - Type
C-c C-kto update the code in the REPL. - Type
C-c C-t C-nto re-run the unit tests
CIDER highlights the failed test and opens the *cider-test-report* to display details on the tests:

More Information
In addition to running individual unit tests and all running all unit tests within a namespace, CIDER provides support for:
- Running all unit tests in a project (
C-c C-t C-p). - Running all unit tests loaded in the REPL (
C-c C-t C-l). - Auto-running unit tests when a buffer is loaded/reloaded in the REPL (
C-c C-k). This is accomplished by enabling thecider-auto-test-modeminor mode. This can be enabled on-demand by typingM-x cider-auto-test-modeor permanently by adding(cider-auto-test-mode 1)to your init.el.
The full set of test-related commands can be viewed from the CIDER Interactions >> Test menu.