Flask Test CLI Runner API

FlaskCliRunner es un CliRunner basado en Click, utilizado para probar comandos CLI de Flask.

Medianteapp.test_cli_runner()Crear una instancia.


Forma de creación

Método Descripción
app.test_cli_runner(**kwargs) Crea el ejecutor de pruebas CLI. Los kwargs se pasan al constructor de CliRunner.

Métodos principales

Método Descripción
invoke(cli=None, args=None, **kwargs) Invoca un comando CLI. Utiliza app.cli por defecto. Devuelve un objeto click.testing.Result.

Atributos del objeto Result

Atributo Descripción
exit_code Código de salida del comando. 0 indica éxito.
output Contenido de la salida estándar del comando (str)
exception Si el comando lanza una excepción, aquí se incluye el objeto de excepción.

Ejemplo de código

Ejemplo

from app import create_app

app = create_app()
runner = app.test_cli_runner()

# Probar el comando integrado
result = runner.invoke(args=["routes"])
assert result.exit_code == 0
assert "/api/posts" in result.output

# Probar el comando personalizado
result = runner.invoke(args=["init-db"])
assert result.exit_code == 0

# Probar el comando con argumentos
result = runner.invoke(args=["greet", "--name", "EJEMPLO"])
assert "EJEMPLO" in result.output

# Probar directamente el grupo CLI de la aplicación con invoke
result = runner.invoke(app.cli, ["run", "--help"])
assert result.exit_code == 0
Otras extensiones