Mocha / Chai TypeError: Não é possível ler a propriedade 'include' de indefinido

votos
1

Então, eu tenho este simples teste de super Chai que continua falhando por razões que eu não entendo. Aqui está o meu código:

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');
    });
});

Toda vez que tento teste, eu recebo o erro TypeError: Cannot read property 'include' of undefined

Se eu comentar (parameters).should.include.keys(['designID', 'labels', 'props']);, eveything passa. Eu não tenho a menor idéia do que está causando isso ...

Quando eu console.log parâmetros, este é o objeto retornado:

{
    designID: '54w9G44aphaNHTvKg',
    labels: 'true',
    props: 'true'
}
Publicado 03/12/2019 em 00:04
fonte usuário
Em outras línguas...                            


1 respostas

Mocha / Chai TypeError: Não é possível ler a propriedade 'include' de indefinido

votos
1

Então, eu tenho este simples teste de super Chai que continua falhando por razões que eu não entendo. Aqui está o meu código:

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');
    });
});

Toda vez que tento teste, eu recebo o erro TypeError: Cannot read property 'include' of undefined

Se eu comentar (parameters).should.include.keys(['designID', 'labels', 'props']);, eveything passa. Eu não tenho a menor idéia do que está causando isso ...

Quando eu console.log parâmetros, este é o objeto retornado:

{
    designID: '54w9G44aphaNHTvKg',
    labels: 'true',
    props: 'true'
}
Respondeu 03/12/2019 em 00:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more