FlaskCliRunner Class — flask Architecture
Architecture documentation for the FlaskCliRunner class in testing.py from the flask codebase.
Entity Profile
Dependency Diagram
graph TD f9a6411b_4c7f_0b0b_2695_fd4e74ed8af8["FlaskCliRunner"] 9d1103a6_3809_8e43_8b99_b375b026b496["testing.py"] f9a6411b_4c7f_0b0b_2695_fd4e74ed8af8 -->|defined in| 9d1103a6_3809_8e43_8b99_b375b026b496 57a9be62_fa00_b0ba_ad54_f6d169e11327["__init__()"] f9a6411b_4c7f_0b0b_2695_fd4e74ed8af8 -->|method| 57a9be62_fa00_b0ba_ad54_f6d169e11327 afe2d4ce_87b9_7239_bb5b_c8fe6ec46b0d["invoke()"] f9a6411b_4c7f_0b0b_2695_fd4e74ed8af8 -->|method| afe2d4ce_87b9_7239_bb5b_c8fe6ec46b0d
Relationship Graph
Source Code
src/flask/testing.py lines 265–298
class FlaskCliRunner(CliRunner):
"""A :class:`~click.testing.CliRunner` for testing a Flask app's
CLI commands. Typically created using
:meth:`~flask.Flask.test_cli_runner`. See :ref:`testing-cli`.
"""
def __init__(self, app: Flask, **kwargs: t.Any) -> None:
self.app = app
super().__init__(**kwargs)
def invoke( # type: ignore
self, cli: t.Any = None, args: t.Any = None, **kwargs: t.Any
) -> Result:
"""Invokes a CLI command in an isolated environment. See
:meth:`CliRunner.invoke <click.testing.CliRunner.invoke>` for
full method documentation. See :ref:`testing-cli` for examples.
If the ``obj`` argument is not given, passes an instance of
:class:`~flask.cli.ScriptInfo` that knows how to load the Flask
app being tested.
:param cli: Command object to invoke. Default is the app's
:attr:`~flask.app.Flask.cli` group.
:param args: List of strings to invoke the command with.
:return: a :class:`~click.testing.Result` object.
"""
if cli is None:
cli = self.app.cli
if "obj" not in kwargs:
kwargs["obj"] = ScriptInfo(create_app=lambda: self.app)
return super().invoke(cli, args, **kwargs)
Domain
Defined In
Source
Frequently Asked Questions
What is the FlaskCliRunner class?
FlaskCliRunner is a class in the flask codebase, defined in src/flask/testing.py.
Where is FlaskCliRunner defined?
FlaskCliRunner is defined in src/flask/testing.py at line 265.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free