chai-http-从单元测试调用时,res.json不是函数

时间:2018-07-25 12:59:44

标签: node.js rest express chai chai-http

我有一个节点应用程序,它使用express公开了一个简单的REST api。它包含一个GET端点,该端点应从mongo数据库返回一个JSON数据数组。经邮递员测试后,它可以完美工作。

api.get('/queries', (req, res) => {
    db.getQueries().then(docs => {
        res.json({ queries: docs });
    })
});

我想以编程方式对其进行测试,因此已使用chai-http进行了测试:

describe('When database contains zero queries', () => {
it('/GET queries should return 0 as the body length', (done) => {
    return chai.request(queriesApi).get('/queries').then((result) => {
        result.should.have.status(200);
        result.body.should.be.a('array');
        result.body.length.should.be.eql(0);
        done()
    });
});

});

但是,在测试过程中出现错误:

TypeError: res.json is not a function

已在GET处理程序中检索到数据并将其发送回调用方的位置。

我无法理解在Postman中测试此端点与通过单元测试之间的区别。我已遍历代码,在两个测试中(邮递员和单元),resServerResponsereqIncomingMessage

0 个答案:

没有答案