tox (Python testing wrapper)
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.[1][2] Its use began to become popular in the Python community from around 2015.[3]
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.[4] 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.[4][5]
Tox is configured through a simple tox.ini
file in INI format.[6]
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.[5]
References
- "Welcome to the tox automation project".
- "tox 2.3.1". Python Package Index.
- "A Simple Tox Tutorial". Waprin.io. 21 May 2015.
- Moshe Zadka (5 May 2019). "Automate your Python code tests with tox". Opensource.com.
- Alejandro Do Nascimento (22 March 2018). "Testing against multiple python versions with tox". Medium.com.
- "tox configuration specification".