我想知道如何在我的烧瓶websocket服务器上进行单元测试。 我的应用程序支持REST API(Flask-restful)和Web Socket(Flask-SocketIO)上的很多接口。所有的websocket"发出"正在进行芹菜加工。我有问题单元测试那些websocket逻辑。
有几个人说,首先我必须分开这个rest-api + websocket应用程序。在单个服务器上运行整个应用程序(逻辑上)是否奇怪?
如何对websocket代码进行单元测试?
谢谢
答案 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。