Last updated:
0 purchases
pytestclick 1.1.0
pytest plugin for Click.
Installation
The current stable release:
pip install pytest_click
Usage
`pytest-click comes with some configurable fixtures - cli_runner and isolated_cli_runner.
import click
def test_cli(cli_runner):
@click.command()
@click.argument("name")
def hello(name):
click.echo("Hello %s!" % name)
result = cli_runner.invoke(hello, ["Peter"])
assert result.exit_code == 0
assert result.output == "Hello Peter!\n"
import click
def test_fixture(isolated_cli_runner):
@click.command()
@click.argument("f", type=click.File())
def cat(f):
click.echo(f.read())
with open("hello.txt", "w") as f:
f.write("Hello World!")
result = isolated_cli_runner.invoke(cat, ["hello.txt"])
assert result.exit_code == 0
assert result.output == "Hello World!\n"
Both runners can be configured via runner_setup mark:
import pytest
@pytest.mark.runner_setup(charset="cp1251", env={"test": 1}, echo_stdin=True)
def test_runner_setup(cli_runner):
...
All kwargs will be passed to click.testing.CliRunner initialization.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.