现在位置: 首页 > Flask 教程 > 正文

Flask Test CLI Runner API

FlaskCliRunner 基于 Click 的 CliRunner,用于测试 Flask CLI 命令。

通过 app.test_cli_runner() 创建实例。


创建方式

方式 说明
app.test_cli_runner(**kwargs) 创建 CLI 测试运行器。kwargs 传递给 CliRunner 构造函数

核心方法

方法 说明
invoke(cli=None, args=None, **kwargs) 调用 CLI 命令。默认使用 app.cli。返回 click.testing.Result 对象

Result 对象属性

属性 说明
exit_code 命令退出码。0 表示成功
output 命令的标准输出内容(str)
exception 如果命令抛出异常,此处包含异常对象

代码示例

实例

from app import create_app

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

# 测试内置命令
result = runner.invoke(args=["routes"])
assert result.exit_code == 0
assert "/api/posts" in result.output

# 测试自定义命令
result = runner.invoke(args=["init-db"])
assert result.exit_code == 0

# 测试带参数的命令
result = runner.invoke(args=["greet", "--name", "RUNOOB"])
assert "RUNOOB" in result.output

# 直接用 invoke 测试应用 CLI 组
result = runner.invoke(app.cli, ["run", "--help"])
assert result.exit_code == 0