Author: Marco Baringer
Some useful user comment is linked from the project home page.
has the usual features you would expect from an xUnit style test framework [...] presents a more lispish macro interface.
Distinguishing Characteristics
- assert-equal, assert-eql, assert-true, etc. have been replaced by the single is macro which inspects its argument to determine how to test equality
- Tests and test suites are named via symbols, this allows tests with the same name to peacfully live together (in different packages), and makes removing or runing single tests easy.
- !, !! and !!! functions for easily re-running recently run tests.
- inter test dependencies
Example:
CL-USER> (def-suite my-suite :description "My Example Suite")
CL-USER> (in-suite my-suite)
CL-USER>
(test my-tests
"Example"
(is (= 4 (+ 2 2)) "2 plus 2 wasn't equal to 4 (using #'= to test equality)")
(is (= 0 (+ -1 1)))
(signals
(error "Trying to add 4 to FOO didn't signal an error")
(+ 'foo 4))
(is (= 0 (+ 1 1)) "this should have failed"))
CL-USER> (run!)
...f
Did 4 checks.
Pass: 3 (75%)
Skip: 0 ( 0%)
Fail: 1 (25%)
Failure Details:
--------------------------------
MY-TESTS [Example]:
this should have failed.
--------------------------------