Useful helpers for writing tests for your Python CLI program.
Writing tests for a command line interface (CLI) tool may not seem strictly straight-forward when you think in terms of unit tests. Especially, when you use the argparse module or the click package, control of the application entry point is a bit taken away from you.
But it's not all that bad. This package is here to help. The examples give you some guidance on how to get started, and the helpers allow you to deal with common cases, such as mocking CLI arguments and environment variable values.
See the documentation for installation instructions and a tutorial.
The examples folder contains hands-on example projects you can start to use directly.
This project uses Tox to run its test suite. Install and use it locally like this:
python3 -m pip install tox
tox list # list available environments
tox -e lint,py312 # run a few environments
tox -e py # run tests with local default Python
tox # run entire suite
The included example projects can be tested independently with their dedicated environments, e.g.
tox -e example-docopt