连接到Flask中的dev服务器进行unittest

时间:2014-08-27 04:57:09

标签: flask flask-sqlalchemy

我正在尝试为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。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

它(app.test_client)不通过网络接口发送请求。所有请求都是模拟的。这些是在werkzeug路由系统内处理的。要处理“/ API / v1 / dummy_api”url,您需要注册视图。如果已注册,请在导入部分中将其连接。应用程序设置和测试设置几乎总是具有几乎相同的设置。

答案 1 :(得分:0)

这是一个类似的问题。顶部答案也回答了你的问题。

How do I test if my Flask dev server is up?

相关问题