我正在尝试为Flask API端点编写单元测试。我希望测试用例连接到在不同端口5555上运行的开发服务器。
以下是我在setUp()
中制作test_client
的内容。
import flask_app
flask_app.app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://root:@localhost/mvp_test_db'
flask_app.app.config['TESTING'] = True
flask_app.app.config['SERVER_NAME'] = '192.168.2.2' //the IP of the dev server
flask_app.app.config['SERVER_PORT'] = 5555
self.app_client = flask_app.app.test_client()
然后,当我使用app_client
之类的请求 -
r = self.app_client.post('/API/v1/dummy_api', data = {'user_id' : 1})
我打印r
时得到404,请求永远不会进入开发服务器(没有打印日志)。我无法检查上面尝试连接的URL。有任何想法吗?
答案 0 :(得分:1)
它(app.test_client)不通过网络接口发送请求。所有请求都是模拟的。这些是在werkzeug路由系统内处理的。要处理“/ API / v1 / dummy_api”url,您需要注册视图。如果已注册,请在导入部分中将其连接。应用程序设置和测试设置几乎总是具有几乎相同的设置。
答案 1 :(得分:0)
这是一个类似的问题。顶部答案也回答了你的问题。