django-rainbowtests

This is a custom test runner for Django that gives you really colorful test output.
Installation
Install the latest release with:
pip install django-rainbowtests
Or with uv:
uv add django-rainbowtests
Usage
Set your test runner in Django settings:
TEST_RUNNER = 'rainbowtests.test.runner.RainbowDiscoverRunner'
Then run your tests as usual:
python manage.py test
Settings
RAINBOWTESTS_HIGHLIGHT_PATH
While running your tests, any lines in your tracebacks that match this path will be highlighted, making them easier to find and read. If you omit this setting, the default is to use the path to your Django installation.
RAINBOWTESTS_HIGHLIGHT_PATH = '/path/to/my/project/'
RAINBOWTESTS_SHOW_MESSAGES
If the test output is too verbose and you just want a colorful version of the standard Django test output, set RAINBOWTESTS_SHOW_MESSAGES to False:
RAINBOWTESTS_SHOW_MESSAGES = False
Python/Django Compatibility
- Python: 3.10, 3.11, 3.12, 3.13, 3.14
- Django: 4.2, 5.2
Coverage
There is support for coverage via a custom test runner:
TEST_RUNNER = 'rainbowtests.test.runner.RainbowDiscoverCoverageRunner'
Run your tests as normal (python manage.py test), and if you have coverage installed, you should see a report when your tests complete.
Note: The recommended modern workflow is to use coverage run manage.py test directly, which gives you more control over coverage settings.
Development
This project uses uv for dependency management.
git clone https://github.com/bradmontgomery/django-rainbowtests.git
cd django-rainbowtests
uv sync --group dev --group test
uv run pytest
uv run ruff check .
License
MIT. See LICENSE.md.