tox is a framework for maintaining a Python package across multiple versions of Python. For example, we can easily test that everything is working in Python 2.6 and Python 3.4. It works by creating virtual environments for each version and then running the unit tests under that environment.
Note
tox uses the virtualenv tool for creating virtual environments. This tool is bundled in the standard library with Python 3.4 and can be installed from PyPi for older version of Python. We don't cover this tool in this book, but if you aren't using it already, then do take a look at it.
A typical tox
configuration file looks like the following:
[tox] envlist = py33,py34 [testenv:py34] deps = nose2 sure pyhamcrest commands = nose2 [testenv:py33] deps = enum34 sure pyhamcrest commands = python -m unittest
The configuration includes the list of Python versions to test against. Each environment can have its own dependencies installed that we require to run the tests...