我无法弄清楚如何为装有@Sockets.route
的Flask路线编写单元测试。使用普通的Flask路由,我可以将测试客户端设置为上下文管理器并使用它来发送请求,但我不确定Web套接字的模拟是什么。
这是我正在尝试编写单元测试的代码:
from flask_sockets import Sockets
sockets = Sockets(app)
@sockets.route('/test')
def echo_socket(ws):
while not ws.closed:
message = ws.receive()
ws.send('success')
Flask-Sockets的文档说我应该使用gunicorn worker,但我不清楚如何从单元测试中访问其中一个(只使用unittest模块)。我有类似的东西:
def test_echo_socket:
# this is all incorrect
with my_app.app.test_client() as context:
context.get('/test')
self.assertEqual(context.response_code, '101')
有没有人有任何想法如何获得单元测试的websocket上下文?感谢。