Comme le titre l'indique nous avons trouvé nous-mêmes dans une situation où nous devons vérifier si un tableau contient un élément dont l'une de ses propriétés est égale à quelque chose.Tableau de test pour inclure un objet avec une certaine clé: valeur
Nous avons essayé et cherché pendant quelques heures jusqu'à ce que nous décidions de soulever un problème à ce sujet. Nous avons pu résoudre le problème comme celui-ci:
const playersRegs = created.gameLog.filter(e => e.nameType === eventTypes.PlayerReg);
expect(playersRegs).to.have.lengthOf(1);
mais nous espériez quelque chose d'un peu comme:
expect(created.gameLog).to.include.something.that.has.property('nameType', eventTypes.PlayerReg);
si nous avons raté quelque chose s'il vous plaît laissez-nous savoir et si nous ne avons pas s'il vous plaît envisager d'ajouter cette fonctionnalité;)
'find' retourne' undefined' s'il n'y a aucun élément correspondant. Probablement préférable d'utiliser 'some' qui retourne toujours' true' ou 'false'? – user3297291
Bon point. Mais chai a aussi un chèque indéfini, donc j'ai mis à jour. Ajouté le un parce qu'il est en effet encore mieux –
Y at-il un moyen que je puisse écrire le test dans son ensemble? comme: expect (created.gameLog) .to.include.something.that.has.property ('nameType', eventTypes.PlayerReg); –