2015-11-17 2 views
2

J'utilise le module npm chai-immutable pour les tests. Voici le test:ImmutableJS fromJS() et Map() "ownerID" ne correspond pas

it("runs the test",() => { 
    const initialState = Map(); 
    const entries = ["entry"]; 
    const nextState = setEntries(initialState, entries); 

    expect(nextState).to.equal(fromJS({ 
     entries : ["entry"] 
    })); 
}); 

Ceci est setEntries fonction

export function setEntries(state, entries) { 
    return state.set("entries", List(entries)); 
} 

Le npm test échoue: enter image description here

Quel est ce ownerID? Comment réparer ce problème?

EDIT:

J'ai créé et réécrit le fichier entier à partir de zéro et cela a fonctionné. C'était exactement la même réplique du fichier précédent.

Toujours intéressé pourquoi il est arrivé ....

Répondre

5

Avez-vous ce morceau de code quelque part lors de l'appel du coureur de test?

import chai from 'chai'; 
import chaiImmutable from 'chai-immutable'; 

chai.use(chaiImmutable); 

généralement vous utiliseriez que dans un fichier, par exemple test/test-config.js puis appelez votre coureur comme ceci: mocha --compilers js:babel-core/register --require ./test/test-config.js --recursive

(je suppose que vous avez besoin compilateur babel, mais la partie importante, il y a la - -require ./test/test-config.js)

+0

oui je ha ve ce morceau de code. J'ai résolu le problème: j'ai créé un nouveau fichier et c'était exactement pareil. Je ne sais pas pourquoi le nouveau fichier a bien fonctionné –

1

-je résoudre ce problème avec Immutable.is()

expect(is(
    nextStat, 
    fromJS({entries : ["entry"]}) 
)).to.equal(true)