Python PyWebSocket连接的测试

Python PyWebSocket连接的测试,python,pytest,aiohttp,Python,Pytest,Aiohttp,对客户端请求和websocket连接使用aiohttp,我试图找到一个合适的pytest实现 对于客户请求,我使用的是aioresponses 对于模拟websocket连接,我不知道该怎么办。有什么建议吗 谢谢 不要模拟,而是使用假服务器来测试客户端(就像您可能使用aiohttp提供的测试客户端来测试服务器一样) 假客户端示例: 该示例没有演示WebSocket的用法,但我非常确定您已经了解了我的想法,并且有足够的知识将所示的方法扩展到WebSocket [编辑] 在WSGI的世界里,对假服务

对客户端请求和websocket连接使用aiohttp,我试图找到一个合适的pytest实现

对于客户请求,我使用的是
aioresponses

对于模拟websocket连接,我不知道该怎么办。有什么建议吗


谢谢

不要模拟,而是使用假服务器来测试客户端(就像您可能使用aiohttp提供的测试客户端来测试服务器一样)

假客户端示例:

该示例没有演示WebSocket的用法,但我非常确定您已经了解了我的想法,并且有足够的知识将所示的方法扩展到WebSocket

[编辑]

在WSGI的世界里,对假服务器进行测试是很困难的:它至少需要一个单独的线程。这项任务很容易

所以请不要误会我。我不建议反对所有响应,我只想强调:在asyncio世界中,模拟响应的需求非常低

基于假服务器的方法更可靠:您正在测试整个传输层,而不仅仅是模拟(实际上是猴子补丁)数据


像aiorResponse这样的库使用aiohttp类的私有属性,这种行为可能会在下一个aiohttp版本中被破坏。此外,它可能已经在一些罕见的用例中被破坏。

我正在考虑使用某种假服务器作为解决方案。但我想知道这是否被视为“最佳实践”。谢谢。去伪造服务器!作为旁注:你会建议不要使用像AIOResponse这样的库吗?非常清楚。非常感谢!我喜欢你们中的一些python专家花时间向其他人解释的方式。我喜欢假服务器的想法。但是,我没有创建一个假解析器并处理ssl,而是使用
monkeypatched API url(存储为变量)http://localhost:{port}/..