Warn when there are no tests or tags defined for a package.
[lisp-unit.git] / README.md
blob6114a2a650e912c98b2cc04280a1d5a056dba05f
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
23 * Signal test completion and return results with the condition.
25 ### Extensions
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
44 defaults to `:ALL`.
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.
56 ### Future Features
58 * Fixtures
59 * Test Suites
60 * Benchmarking tools
62 [orig]: <http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html>
63   "Original Lisp Unit"
64 [wiki]: <https://github.com/OdonataResearchLLC/lisp-unit/wiki>
65   "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"