gpt4 book ai didi

session - Mocha 茶请求和快速 session

转载 作者:行者123 更新时间:2023-12-04 23:16:41 25 4
gpt4 key购买 nike

当使用两个嵌套的 chai 请求时, session 会丢失。

chai.request(server)
.post('/api/v1/account/login')
.send({_email: 'test@test.com', _password: 'testtest'})
.end(function(err, res){
chai.request(server)
.get('/api/v1/user/me')
.end(function(err2, res2){
//here i should get the session, but its empty
res2.should.have.status(200);
done();
});
});

而且我很确定这是我的 mocha 测试中的错误,因为我在测试之外尝试了它(登录然后检索 session )并且正在设置 session 。

最佳答案

express 本身没有任何本地 session 支持。我猜您正在使用一些 session 中间件,例如 https://github.com/expressjs/session .

同时,我猜你正在使用 chai-http 插件来发送 HTTP 请求。在chai-http中,为了在不同的HTTP请求之间保留cookies(这样req.session可以在express端可用),需要使用chai.request.agent而不是 chai .

这是您的代码的一个简单示例:

var agent = chai.request.agent(app);
agent.post('/api/v1/account/login')
.send({_email: 'test@test.com', _password: 'testtest'})
.then(function(res){
agent.get('/api/v1/user/me')
.then(function(res2){
// should get status 200, which indicates req.session existence.
res2.should.have.status(200);
done();
});
});

对于 chai.request.agent ,可以引用 http://chaijs.com/plugins/chai-http/#retaining-cookies-with-each-request

关于session - Mocha 茶请求和快速 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com