Mocha / Chai TypeError:无法读取未定义的属性“ include”

时间:2019-12-02 21:04:00

标签: javascript mocha chai should.js

所以我有这个超级简单的Chai测试,由于我不了解的原因,该测试一直失败。这是我的代码:

let chaiHttp = require('chai-http');
const helpers = require('../lib/helpers.js');
let chai = require('chai');

let should = chai.should();
chai.use(chaiHttp);

describe('Helper Functions', () => {
    it('it should return an array of objects that represent the URL parameters passed in', function() {
        const requestURL = {url: '/?designID=54w9G44aphaNHTvKg&labels=true&props=true'};
        let parameters = helpers.getQueryParameters(requestURL);

        (parameters).should.include.keys(['designID', 'labels', 'props']);
        (parameters.designID).should.be.eql('54w9G44aphaNHTvKg');
        (parameters.labels).should.be.eql('true');
        (parameters.props).should.be.eql('true');
    });
});

每次尝试测试时,都会收到错误TypeError: Cannot read property 'include' of undefined

如果我注释掉(parameters).should.include.keys(['designID', 'labels', 'props']);,一切都会过去。我丝毫不知道是什么原因造成的...

当我使用console.log参数时,这是返回的对象:

{
    designID: '54w9G44aphaNHTvKg',
    labels: 'true',
    props: 'true'
}

更新

所以当我将行更改为:

(JSON.parse(JSON.stringify(parameters))).should.have.keys(['designID', 'labels', 'props']);

一切正常...是否有某种功能/错误不允许chai读取JSON,除非使用正确的双引号对其进行格式化?

0 个答案:

没有答案