Django Test Extras
Enhancements for the Django test command and testing utility code.
Author: Bright Interactive.
Adding to your Django Project
Requires Django 1.8.
test_extras to your INSTALLED_APPS.
Run "./manage test --help" for help on the new options provided.
Publishing releases to PyPI
Only Bright Interactive employees can publish a release. Ensure you have a .pypirc file in your home directory configured to publish to the bright PyPI account (real password has been redacted).
[pypirc] servers = pypi [server-login] username:bright password:******
To publish a new version of django-test-extras app to PyPI, set the
__version__ string in
test_extras/__init__.py, then run:
# Run the tests against multiple environments tox # Publish to PyPI ./setup.py publish # Tag (change 1.0.0 to the version you are publishing!) git tag -a v1.0.0 -m 'version 1.0.0' git push --tags
Running the tests
To run the tests against the current environment:
To run the tests against multiple environments, install
pip install tox, make sure you're not currently in a virtual environment,
then simply run
- Fix issue with
dumpdataattempting to access unmanaged models.
- Fix issue parsing arguments to the
- Drop support for Django 1.7 (this was to make it easier to fix the above issue).
- Add Django 1.8 compatibility
Backwards-incompatible changes (hence the new major version):
- Drop support for Django 1.4, 1.5 and 1.6 (you can still use django-test-extras 1.1.4 if you can't upgrade Django)
- Remove superflush command - it was added for use by DataPreservingTransactionTestCaseMixin and is no longer needed now that DataPreservingTransactionTestCaseMixin has been rewritten for Django 1.8
- Fix coverage for apps with no models: https://github.com/brightinteractive/django-test-extras/issues/6
- Allow use with Django 1.7 (note: django-test-extras has not yet been thoroughly tested with Django 1.7)
- Fix data restore in Django 1.5/1.6 in DataPreservingTransactionTestCaseMixin
- Declare dependencies in setup.py
- Add --no-exit option
- Change short option names to avoid conflicts with new Django 1.6 options. This is a breaking change - if you were using
-tyou should now use
--tagsinstead and if you were using
-pyou should now use
- Python 2.7 compatibility fix
- Allow test classes to hook addSuccess, addError and addFailure
- Fix tag inclusion/exclusion options not working if '-x' is also specified
- Initial release
Copyright (c) Bright Interactive Limited. Started with django-reusable-app Copyright (c) DabApps.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.