Execute commands after tests are completed.
It requires django-discover-runner package to work.
Install using pip:
pip install django-aftermath
In your settings file, add the following required options:
TEST_RUNNER = 'aftermath.AftermathTestRunner'
To specifiy a backend, set a dotted path to the backend class:
AFTERMATH_BACKEND = 'aftermath.backends.NotifySendBackend'
Currently, there are two backends,
NullBackend which does nothing (this is the default), and
NotifySendBackend which uses notify-send to generate notifications. You will have to install notify-send yourself.
NotifySendBackend creates notifications like these:
To specifiy if backend is executed when all test succeed, use
AFTERMATH_RUN_ON_SUCCESS setting. Default values is
To specifiy if backend is executed when some tests fail, use
AFTERMATH_RUN_ON_FAIL setting. Default values is
Usually, you will only need to specify the first two options.
If you wish to implement your own backend, take a look at one of the existing backends. All you need is a simple class with
aftermath functions. If you make one, I'll be happy to include it in the package.
Implement support for Django 1.6 by using builtin test runner, and use django-discover-runner for older versions.