3 *lisp-unit* is a Common Lisp library that supports unit testing. It is
4 an extension of the [library written by Chris Riesbeck][orig]. There
5 is a long history of testing packages in Lisp, usually called
6 "regression" testers. More recent packages in Lisp and other languages
7 have been inspired by [JUnit for Java][JUnit].
9 [Documentation is located on the project wiki.][wiki]
13 * Written in portable Common Lisp
14 * Loadable as a single file
15 * Loadable with [ASDF][] or [Quicklisp][]
16 * Simple to define and run tests
17 * Redfine functions and macros without reloading tests
18 * Test return values, printed output, macro expansions, and conditions
19 * Fined grained control over the testing output
20 * Store all test results in a database object that can be examined
21 * Group tests by package for modularity
22 * Group tests using tags
23 * Signal test completion and return results with the condition.
27 * Floating point predicates
28 * [Test Anything Protocol][TAP] output
30 ### How to use lisp-unit
32 The core definitions of *lisp-unit* may be used by loading the single
33 file 'lisp-unit.lisp'. To use the extensions, *lisp-unit* must be
34 loaded using either [Quicklisp][] or [ASDF][].
36 1. Load (or compile and load) as a single file : `(load "lisp-unit")`.
37 2. Load using [Quicklisp][] : `(ql:quickload :lisp-unit)`.
38 3. Load using [ASDF][] : `(asdf:load-system :lisp-unit)`.
40 ## Version 0.9.5 Features
42 No new features, improved the usability based on user feedback. The
43 list of tests or tags to the following functions is now optional and
46 * `(remove-tests [names] [package])`
47 * `(tagged-tests [tags] [package])`
48 * `(remove-tags [tags] [package])`
49 * `(run-tests [names] [package])`
50 * `(run-tags [tags] [package])`
52 ## Version 1 Remaining Tasks
54 * (1.0.0) Expanded internal testing.
62 [orig]: <http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html>
64 [wiki]: <https://github.com/OdonataResearchLLC/lisp-unit/wiki>
66 [JUnit]: <http://www.junit.org> "JUnit"
67 [Quicklisp]: <http://www.quicklisp.org> "Quicklisp"
68 [ASDF]: <http://common-lisp.net/project/asdf/> "ASDF"
69 [TAP]: <http://testanything.org/> "Test Anything Protocol"
71 ## 0.9.5 Acknowledgments
73 * [Jesse Alama][jessealama] for usability feedback.
75 [jessealama]: <https://github.com/jessealama> "Jesse Alama"