我正在为依赖于连接中的持久会话的中间件编写单元测试。(即connect-mongo)。
我想创建一个假会话,但似乎无法弄清楚如何。
我的浏览器中有一个 connect.sid cookie,我假设它以某种加密方式与我的会话集合中的 _id 相关。
这是我尝试过的:
我将 cookieParser 中间件和会话存储添加到服务器,然后使用以下请求将其发送到服务器(从 chrome 的开发工具面板复制密钥):
var jar = request.jar(),
cookie = request.cookie('connect.sid=<REALLYLONGKEY>');
jar.add(cookie);
request({url : 'http://localhost:8585/',jar : jar},this.callback);
在服务器端正确设置 cookie,并且我已经验证会话正在工作。
然而,从 cookie 到 session 的神奇转换并没有像我希望的那样发生——正确的方法是什么?