lisp-unit is a Common Lisp library that supports unit testing. 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.
Documentation is located on the project wiki.
- Written in portable Common Lisp
- Loadable as a single file
- Loadable with ASDF or Quicklisp
- Simple to define and run tests
- Redfine functions and macros without reloading tests
- Test return values, printed output, macro expansions, and conditions
- Fined grained control over the testing output
- Store all test results in a database object that can be examined
- Group tests by package for modularity
- Group tests using tags
- Signal test completion and return results with the condition.
- Floating point predicates
- Test Anything Protocol output
The core definitions of lisp-unit may be used by loading the single file 'lisp-unit.lisp'. To use the extensions, lisp-unit must be loaded using either Quicklisp or ASDF.
- Load (or compile and load) as a single file :
(load "lisp-unit"). - Load using Quicklisp :
(ql:quickload :lisp-unit). - Load using ASDF :
(asdf:load-system :lisp-unit).
No new features, improved the usability based on user feedback. The
list of tests or tags to the following functions is now optional and
defaults to :ALL.
(remove-tests [names] [package])(tagged-tests [tags] [package])(remove-tags [tags] [package])(run-tests [names] [package])(run-tags [tags] [package])
- (1.0.0) Expanded internal testing.
- Fixtures
- Test Suites
- Benchmarking tools
- Jesse Alama for usability feedback.