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. --------------------------------