测试 Click 应用程序 — Click 文档
来自菜鸟教程
Click/docs/6.x/testing
测试点击应用程序
对于基本测试,Click 提供了 click.testing
模块,该模块提供了帮助您调用命令行应用程序并检查其行为的测试功能。
这些工具真的应该只用于测试,因为为了简单起见,它们改变了整个解释器的状态,并且在任何情况下都不是线程安全的!
基本测试
测试 Click 应用程序的基本功能是 CliRunner,它可以将命令作为命令行脚本调用。 CliRunner.invoke() 方法单独运行命令行脚本,并将输出捕获为字节和二进制数据。
返回值是一个 Result 对象,其中包含捕获的输出数据、退出代码和可选的异常。
例子:
对于子命令测试,必须在 CliRunner.invoke() 方法的 args 参数中指定子命令名称。
例子:
输入流
测试包装器还可用于为输入流 (stdin) 提供输入数据。 这对于测试提示非常有用,例如:
请注意,将模拟提示,以便它们也将输入数据写入输出流。 如果需要隐藏输入,那么这显然不会发生。