测试客户端如何工作

时间:2017-09-27 09:28:56

标签: python testing web flask

也许这个问题与此无关。让我知道。

我试图了解一般情况下test_client(我的情况是main Flask)究竟是如何运作的

我追溯到test_client description(特别是针对我的情况)

werkzeug.test.Client

但是引擎盖下会发生什么?该应用程序没有真正运行端口?

1 个答案:

答案 0 :(得分:2)

Flask实现了WSGI应用程序协议。它需要处理一个请求的是一个描述请求数据的m dict,它返回一个environ对象。它并不关心在哪里环境来自哪里或响应在哪里,这是由WSGI服务器协议处理的。像Gunicorn这样的Werkzeug开发服务器和生产服务器处理这一部分。

Werkzeug测试客户端模拟服务器:它不是响应HTTP请求而生成Response,而是响应函数调用生成一个environ。当您调用client.get时,客户端根据您传递的参数构建WSGI environ dict,调用Flask WSGI应用程序,然后将响应返回给您。