lisp-unit is a simple Common Lisp Test Framework. It is an extension of the library written by Chris Riesbeck . There is a long history of testing packages in Lisp, usually called "regression" testers. More recent packages in Lisp and other languages have been inspired by JUnit for Java. For more information on both unit testing and JUnit, visit

lisp-unit project page on github.


The main goal for lisp-unit was to make it simple to use. The advantages of lisp-unit are:
  • Written in portable Common Lisp.
  • Loadable as a single file.
  • Loadable with ASDF or QuickLisp.
  • Simple to define and run tests.
  • Redefine functions and macros without reloading tests.
  • Test return values, printed output, macro expansions, and conditions.
  • Fine grained control over the testing output.
  • Store all test results in a database object that can be examined
  • Groups tests by package for modularity.
  • Group tests using tags

Features in Version 0.9.3

A comprehensive test results database has been implemented for Version 0.9.3. run-tests and run-tags return the test results database object. Two new functions have been added for examining the results, print-failures and print-errors.