我是mocha和chai的新人。
我正在使用mocha和chai将集成测试用例写入NodeJS应用程序。
我一直在寻找一个共同的解决方案。
我在这里解释我正在做的事情。
简而言之,我的观点是
如何为每个请求保留Cookie
我的节点服务器在端口3000上的单独计算机上运行,测试用例将在另一台计算机上运行。
这是我的应用程序目录结构
首先,登录API测试用例
let chai = require('chai');
let chaiHttp = require('chai-http');
let expect = require('chai').expect;
chai.use(chaiHttp);
let agent = chai.request.agent(endpoint);
describe('/POST login ', function () {
it(' login ', function (done) {
let req = {
'email': 'email',
'password': 'password'
};
agent
.post(login)
.send(req)
.then(function (response) {
expect(response).to.have.status(200);
done();
}).catch(function (error) {
done(error);
});
});
});
其次,获取帐户列表
let chai = require('chai');
let chaiHttp = require("chai-http");
let expect = chai.expect;
chai.use(chaiHttp);
describe('/POST account', function () {
it(' Account List ', async function () {
let response = await chai.request(endpoint)
.post(accounts)
try {
expect(response).to.have.status(200);
} catch (error) {
throw error;
}
});
});
我为每个模块创建了单独的文件。
那么,
所有API都根据会话进行身份验证。
所以,
有没有办法在chai-http插件上全局设置cookie?
基本上,
登录测试用例将设置cookie,之后,每个请求都将携带此cookie。
由于