What Stefil basically adds is that it quietly gathers extra runtime information and statistics (like a test backtraces, assertions, failures and/or errors), and introduces a wider range of ASSERT-like primitives to express the expected behavior of a program. It also integrates well with the Slime inspector, and provides useful restarts to achieve that goal.
Unique Selling Points:
- Non-intrusive to the normal development process (debugging a failed test is exactly the same experience as debugging your application)
- Integrates well with Slime
- Lets you run tests both in non-interactive and in interactive mode with useful restarts
- Makes it trivial to invoke even only parts of the test suite: just call the DEFTEST (DEFUN) of your choice
- Allows you to interactively skip parts of the test suite (e.g. to skip a long test (and remember that suite are also tests) you can abort with C-c C-c and select a restart)
- Its fixture implementation allows invoking specific parts of the test suite without sacrificing performance
Current darcs repository is available at:
Notable packages using stefil for testing include:
Old version called stefil
Homepage, including some documentation: https://common-lisp.net/project/stefil/index-old.shtml
Older version of stefil is hosted by Luís Oliveira and can be found at: https://common-lisp.net/~loliveira/tarballs/inofficial/stefil-2008-08-19.tar.gz
Both new and old versions are Quicklisp installable using package names hu.dwim.stefil and stefil.