This is a custom test runner for Django that gives you really colorful test output.
Install the latest release with:
pip install django-rainbowtestsOr with uv:
uv add django-rainbowtestsSet your test runner in Django settings:
TEST_RUNNER = 'rainbowtests.test.runner.RainbowDiscoverRunner'Then run your tests as usual:
python manage.py testWhile 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/'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: 3.10, 3.11, 3.12, 3.13, 3.14
- Django: 4.2, 5.2
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.
This project uses uv for dependency management.
# Clone the repository
git clone https://github.com/bradmontgomery/django-rainbowtests.git
cd django-rainbowtests
# Install dependencies
uv sync --group dev --group test
# Run tests
uv run pytest
# Run linter
uv run ruff check .MIT. See LICENSE.md.