node.js - 如何对使用 cookie 的 socket.io 中间件进行单元测试

标签 node.js cookies socket.io

我正在使用 session ,我有一个中间件可以解析请求的 cookie。

我正在对我的中间件进行单元测试,但我不知道如何处理这个(如何插入 cookie 以便我可以断言它存在于中间件中)。

我尝试使用 supertest 库,在连接 socket.io 之前调用一个插入 cookie 的路由,但是当中间件被触发时 cookie 不在这里(这是有道理的,因为 cookie 是存储到浏览器中,我的单元测试是用 mocha 启动的)。

您知道测试这种用例的方法吗?

最佳答案

socket.io 库处理所有 cookie 解析,并经过广泛测试。您不需要测试通用 cookie 处理,而只需测试您的特定中间件对特定 cookie 执行特定操作即可。为此,您只需确保在测试期间传递给中间件的套接字对象的任何替代物都具有 client.cookie 属性,然后确保您的输出符合您的预期。

关于node.js - 如何对使用 cookie 的 socket.io 中间件进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31905507/

相关文章:

node.js - WebSocket (Socket.io) 连接错误 - 失败 : Connection closed before receiving a handshake response

javascript - Express中的Socket.io从客户端接收未定义的数据

javascript - 在 NodeJS 中处理多个、顺序、依赖的 mongo 查询结果的最佳方法

node.js - 即使我有过时的软件包,npm update -g 也不做任何事情

authentication - ASP.NET 身份 cookie 和子域

asp.net-mvc-4 - 该网页有一个重定向循环 asp.net mvc4

javascript - Safari 扩展 cookie 无法识别/通过

node.js - Socket.io 和 Redis 向除发送者以外的所有客户端广播

javascript - PassportJS - GET 请求中的登录凭据?

javascript - 通过 JSONAPI-Serializer 进行反序列化时遇到奇怪的问题