Optionally signal results.
[lisp-unit.git] / README.md
blob5e5f275f8b7aac0496c4208949902e28ed977933
1 ## lisp-unit
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]
11 ### Features
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
24 ### How to use lisp-unit
26 The core definitions of *lisp-unit* may be used by loading the single
27 file 'lisp-unit.lisp'. To use the extensions, *lisp-unit* must be
28 loaded using either [Quicklisp][] or [ASDF][].
30 1. Load (or compile and load) as a single file : `(load "lisp-unit")`.
31 2. Load using [Quicklisp][] : `(ql:quickload :lisp-unit)`.
32 3. Load using [ASDF][] : `(asdf:load-system :lisp-unit)`.
34 ## Version 0.9.3 Features
36 A comprehensive test results database has been implemented for Version
37 0.9.3. `run-tests` and `run-tags` return the test results database
38 object. Two new functions have been added for examining the results,
39 `print-failures` and `print-errors`.
41 ## Version 1 Remaining Tasks
43 * (1.0.0) Expanded internal testing.
45 ### Future Features
47 * Fixtures
48 * Test Suites
49 * Benchmarking tools
50 * Test Anything Protocol(TAP) support.
52 [orig]: <http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html>
53   "Original Lisp Unit"
54 [wiki]: <https://github.com/OdonataResearchLLC/lisp-unit/wiki>
55   "Lisp Unit Wiki"
56 [JUnit]: <http://www.junit.org> "JUnit"
57 [Quicklisp]: <http://www.quicklisp.org> "Quicklisp"
58 [ASDF]: <http://common-lisp.net/project/asdf/> "ASDF"