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.
- Loadable with QuickLisp.
- Dead-simple to define and run tests.
- Supports redefining functions and even macros without reloading tests.
- Supports test-first programming.
- Supports testing return values, printed output, macro expansions, and error conditions.
- Groups tests by package for modularity.
Features in Version 0.9.2
The latest version of lisp-unit introduces a departure in interface and features from the original lisp-unit. The interface has been simplified by reducing the number of functions for managing tests and unifying the management function arguments. Test results are now stored in a results object with detailed assertion output suppressed by default. The test results object is used to investigate failed assertions and execution errors in detail without having to read through all assertion results. The
define-testmacro has been updated to accept a documentation and tags. A test can be tagged to facilitate unit testing of a subset of the tests in a package. See the project wiki for a full description of these features.
- Floating point extensions
- Simplified Interface
- Test reporting object with improved printing of results
- Tagged tests for unit testing subsets
The future features list is not guaranteed to be implemented, just a list of ideas for further extensions.
- Test suites
- Benchmarking tools
- Test Anything Protocol (TAP) support