PytestΒΆ

Important

For these helpers to work, you need to install click_extra’s additional dependencies from the pytest extra group:

$ pip install click_extra[pytest]

Utility functionsΒΆ

Todo

Write example and tutorial.

FixturesΒΆ

Todo

Write example and tutorial.

click_extra.pytest APIΒΆ

Pytest fixtures and marks to help testing Click CLIs.

click_extra.pytest.extra_runner()[source]ΒΆ

Runner fixture for click.testing.ExtraCliRunner.

click_extra.pytest.invoke(extra_runner)[source]ΒΆ

Invoke fixture shorthand for click.testing.ExtraCliRunner.invoke.

click_extra.pytest.skip_naked(*args, **kwargs) = MarkDecorator(mark=Mark(name='skip', args=(), kwargs={'reason': 'Naked decorator not supported yet.'}))ΒΆ

Mark to skip Cloup decorators without parenthesis.

click_extra.pytest.command_decorators(no_commands=False, no_groups=False, no_click=False, no_cloup=False, no_redefined=False, no_extra=False, with_parenthesis=True, with_types=False)[source]ΒΆ

Returns collection of Pytest parameters to test all forms of click/cloup/click- extra command-like decorators.

Return type:

tuple[ParameterSet, ...]

click_extra.pytest.create_config(tmp_path)[source]ΒΆ

A generic fixture to produce a temporary configuration file.

click_extra.pytest.unescape_regex(text)[source]ΒΆ

De-obfuscate a regex for better diff readability.

This is like the reverse of re.escape().

Return type:

str

click_extra.pytest.REGEX_NEWLINE = '\\n'ΒΆ

Newline representation in the regexes above.

click_extra.pytest.assert_output_regex(request)[source]ΒΆ

An assert-like utility for Pytest to compare CLI output against the regex.

Designed for the regexes defined above.