Skip to content

painless-software/python-cli-test-helpers

Repository files navigation

cli-test-helpers Latest version on PyPI

Code checks status Test suite status Latest release Status Python versions Software license Documentation Status

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.

Documentation

See the documentation for installation instructions and a tutorial.

Examples

The examples folder contains hands-on example projects you can start to use directly.

Development

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