Welcome to the tox automation project
vision: standardize testing in Python
tox aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software.What is Tox?
Tox is a generic virtualenv management and test command line tool you can use for:- checking your package installs correctly with different Python versions and interpreters
- running your tests in each of the environments, configuring your test tool of choice
- acting as a frontend to Continuous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing.
Basic example
First, install tox with pip install tox or easy_install tox. Then put basic information about your project and the test environments you want your project to run in into a tox.ini file residing right next to your setup.py file:# content of: tox.ini , put in same dir as setup.py
[tox]
envlist = py26,py27
[testenv]
deps=pytest # install pytest in the venvs
commands=py.test # or 'nosetests' or ...
To sdist-package, install and test your project against Python2.6 and Python2.7, just type:
tox
Current features
- automation of tedious Python related test activities
- test your Python package against many interpreter and dependency configs
- automatic customizable (re)creation of virtualenv test environments
- installs your setup.py based project into each virtual environment
- test-tool agnostic: runs py.test, nose or unittests in a uniform manner
- uses pip and setuptools by default. Experimental support for configuring the installer command through install_command=ARGV.
- cross-Python compatible: Python-2.5 up to Python-3.3, Jython and pypy support. Python-2.5 is supported through a vendored virtualenv-1.9.1 script.
- cross-platform: Windows and Unix style environments
- integrates with continuous integration servers like Jenkins (formerly known as Hudson) and helps you to avoid boilerplatish and platform-specific build-step hacks.
- full interoperability with devpi: is integrated with and is used for testing in the devpi system, a versatile pypi index server and release managing tool.
- driven by a simple ini-style config file
- documented examples and configuration
- concise reporting about tool invocations and configuration errors
- professionally supportedfrom http://tox.readthedocs.org/en/latest/