tox is a command-line driven automated testing tool for Python, based on the use of virtualenv. It can be used for both manually-invoked testing from the desktop, or continuous testing within continuous integration frameworks such as Jenkins or Travis CI. Its use began to become popular in the Python community from around 2015. tox acts a wrapper for both virtual environments and test automation tools, to simplify the consistent testing of Python code across a range of environments. It integrates the use of a virtualisation tool, such as virtualenv, with a test script such as Imprimatur. This gives a consistent container-based testing environment on both desktops and integration servers. It also allows testing in a range of Python environments, such as Python 2 or Python 3 specific contexts. Tox supports various configuration file formats. Initially configuration could only be done in a tox.ini file in INI format. Since version 4.21 tox supports native TOML configuration integrated into pyproject.toml.
Smoke testing tox is also convenient as a simple smoke test on a newly installed, or freshly-updated system. It is also useful before beginning a refactoring exercise.
References
