如何保留每个请求的cookie

时间:2018-01-16 19:13:53

标签: node.js cookies mocha chai chai-http

我是mocha和chai的新人。

我正在使用mocha和chai将集成测试用例写入NodeJS应用程序。

我一直在寻找一个共同的解决方案。

我在这里解释我正在做的事情。

简而言之,我的观点是

如何为每个请求保留Cookie

我的节点服务器在端口3000上的单独计算机上运行,​​测试用例将在另一台计算机上运行。

这是我的应用程序目录结构

enter image description here

首先,登录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。

由于

0 个答案:

没有答案