Autonose is an autotest-like tool for python, using the excellent nosetest library.
autotest tracks filesystem changes and automatically re-run
any changed tests or dependencies whenever a file is added, removed or
updated. A file counts as changed if it has iself been modified, or if any
file it import
s has changed.
$ easy_install autonose
autonose
It's really that simple. try autonose --help
for configuration options.
Autonose currently has a native GUI for OSX and GTK. If neither of those
are available to you, you can instead run the console version (with the
--console
option).
Here's the obligatory screenshot of autonose in action:
.. but the real magic happens when you have autonose running while modifying your tests / code.
nosetests has a lot of options and plugins. autonose tries to work as best it can with them, but be warned that some plugins will interfere with autonose (particularly any that do their own output or manage test results).
However, you can pass any options you want to nose by prefixing them with -x
,
or by using --config=nose.cfg
if you have a config file.
(e.g. to turn on doctest, you should pass -x--with-doctest
to autonose)
Autotest does not (currently):
- understand dynamic imports (use of
__import__
) - track any file types other than
.py
- detect filesystem changes instantly (inotify-style). This is not an issue for small codebases, but could be for larger ones.
All of these points are at various stages of being worked on; see the github issues page for the status on these (and many more!) enhancements.