tox - automation project#
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 (alongside pytest
tox is a generic virtual environment management and test command line tool you can use for:
checking your package builds and installs correctly under different environments (such as different Python implementations, versions or installation dependencies),
running your tests in each of the environments with the test tool of choice,
acting as a frontend to continuous integration servers, greatly reducing boilerplate and merging CI and shell-based testing.
tox has influenced several other projects in the Python test automation space. If tox doesn’t quite fit your needs or you want to do more research, we recommend taking a look at these projects:
Invoke is a general-purpose task execution library, similar to Make. Invoke is far more general-purpose than tox but it does not contain the Python testing-specific features that tox specializes in.
nox is a project similar in spirit to tox but different in approach. Nox’s key difference is that it uses Python scripts instead of a configuration file. Nox might be useful if you find tox’s configuration too limiting but aren’t looking to move to something as general-purpose as Invoke or Make.
Oliver Bestwalter - Automating Build, Test and Release Workflows with tox