如何对Flask websocket服务器进行单元测试(Flask-SocketIO)

时间:2016-07-07 02:40:56

标签: python unit-testing flask websocket flask-socketio

我想知道如何在我的烧瓶websocket服务器上进行单元测试。 我的应用程序支持REST API(Flask-restful)和Web Socket(Flask-SocketIO)上的很多接口。所有的websocket"发出"正在进行芹菜加工。我有问题单元测试那些websocket逻辑。

  1. 有几个人说,首先我必须分开这个rest-api + websocket应用程序。在单个服务器上运行整个应用程序(逻辑上)是否奇怪?

  2. 如何对websocket代码进行单元测试?

  3. 谢谢

1 个答案:

答案 0 :(得分:5)

有些人更喜欢单独的HTTP和WebSocket应用程序,但这不是我盲目推荐的。在某些情况下,这样做是有道理的,有些则没有,特别是如果你使用的是Flask-SocketIO,它可以提供相当强大的集成。

Flask-SocketIO扩展包括一个测试客户端,在概念上类似于Flask的测试客户端,但意味着与套接字路由一起使用。你看过那个吗?

如果你想要一个使用Flask,Celery,Socket.IO的示例应用程序,并且有一套很好的单元测试,请看看Flack:https://github.com/miguelgrinberg/flack。我在PyCon 2016上进行了一个辅导课程,详细介绍了这个应用程序:https://www.youtube.com/watch?v=tdIIJuPh3SI