【发布时间】:2018-12-03 09:26:31
【问题描述】:
我使用 Flask-restful 开发了一个 API。我有一个名为“服务器”的资源的 API。这个资源有一个方法 get 来处理对'/server' url 的请求。 在这种方法中,我有一个从另一个服务获取数据的另一个类“连接器”的调用方法:
class Server(Resource):
def get(self):
...
status, body = connector.get_servers(page, size) # call method of another class
...
return body, status
我想测试开发的 API。我写了一些测试:
from application import create_app
from unittest import TestCase
class TestServerResource(TestCase):
def setUp(self):
self.app = create_app()
self.client = self.app.test_client
def test_bad_url(self):
res = self.client().get('/server')
self.assertEqual(res.status_code, 400)
# Test of get method Server resources described above
def test_pagination(self):
res = self.client().get('/server?page=1&size=1') # request to my API
self.assertEqual(res.status_code, 200)
在“test_pagination”方法中,我正在测试我的资源的“get”方法,但在此方法中调用了另一个类的方法。因此我有一个问题:如何在测试中模拟“connector.get_servers()”的调用?
谢谢。
【问题讨论】:
标签: testing flask mocking flask-restful