Flask App Testing 中的 test_client 如何设置 url 以及它在后端如何工作?
How test_client in Flask App Testing sets the url and how it works in the backend?
所以我尝试自动化我的 Flask 应用程序 api,并且密切关注帕特里克·肯尼迪 (Patrick Kennedy) 撰写的一些文档/博客,并且能够做到这一点,但对请求模块和 test_client(Werkzeug 测试客户端)
我的做法:
创建了一个夹具,我在其中导入了带有测试客户端的应用程序并推送上下文并使用它我能够点击 app.py 中定义的 api。
所以要使用 api 之一,我正在这样做:
response = test_client.get(url) #url 没有 http://hostname:port
它工作正常,没有任何问题。
如果我想使用 python 提供的请求模块,我需要提供整个 url 即 http://hostname:port
所以我的问题是,test_client 是如何处理的???
如果我使用 test_client,那么使用没有主机名和端口的 url 是否是正确的方法? (即使我得到了预期的输出)
Flask 使用 WerkZeug 测试客户端:
https://werkzeug.palletsprojects.com/en/2.0.x/test/#werkzeug.test.Client
此客户端包装您的应用程序实例,因此不需要知道您的应用程序的绝对路径。
所以我尝试自动化我的 Flask 应用程序 api,并且密切关注帕特里克·肯尼迪 (Patrick Kennedy) 撰写的一些文档/博客,并且能够做到这一点,但对请求模块和 test_client(Werkzeug 测试客户端)
我的做法:
创建了一个夹具,我在其中导入了带有测试客户端的应用程序并推送上下文并使用它我能够点击 app.py 中定义的 api。 所以要使用 api 之一,我正在这样做:
response = test_client.get(url) #url 没有 http://hostname:port 它工作正常,没有任何问题。
如果我想使用 python 提供的请求模块,我需要提供整个 url 即 http://hostname:port
所以我的问题是,test_client 是如何处理的???
如果我使用 test_client,那么使用没有主机名和端口的 url 是否是正确的方法? (即使我得到了预期的输出)
Flask 使用 WerkZeug 测试客户端:
https://werkzeug.palletsprojects.com/en/2.0.x/test/#werkzeug.test.Client
此客户端包装您的应用程序实例,因此不需要知道您的应用程序的绝对路径。