测试工具 — Werkzeug 文档
来自菜鸟教程
Werkzeug/docs/1.0.x/test
测试工具
很多时候你想对你的应用程序进行单元测试,或者只是检查交互式 python 会话的输出。 从理论上讲,这非常简单,因为您可以伪造 WSGI 环境并使用虚拟 start_response 调用应用程序并迭代应用程序迭代器,但有争议的更好的方法与应用程序交互。
潜入
Werkzeug 提供了一个 Client 对象,您可以传递一个 WSGI 应用程序(和可选的响应包装器),您可以使用它向应用程序发送虚拟请求。
响应包装器是一个可调用的,它接受三个参数:应用程序迭代器、状态和最后的标头列表。 默认响应包装器返回一个元组。 由于响应对象具有相同的签名,因此您可以将它们用作响应包装器,理想情况下是将它们子类化并挂钩测试功能。
或者没有定义包装器:
环境建设
0.5 版中的新功能。
交互式测试应用程序的最简单方法是使用 EnvironBuilder
。 它可以创建标准的 WSGI 环境和请求对象。
以下示例使用一个上传的文件和一个表单字段创建一个 WSGI 环境:
生成的环境是一个常规的 WSGI 环境,可用于进一步处理:
如果您将 dict 作为 data 传递给构造函数,则 EnvironBuilder
会自动计算出内容类型。 如果您提供字符串或输入流,则必须自己完成。
默认情况下,它会尝试使用 application/x-www-form-urlencoded
并且仅在上传文件时使用 multipart/form-data
:
如果字符串作为数据(或输入流)提供,您必须自己指定内容类型:
测试API