Chai - Test pour les valeurs dans le tableau d'objets
Je suis en train d'ouvrir mes tests pour les résultats à un point de terminaison REST qui me renvoie un tableau d'objets de base de données Mongo.
[{_id: 5, title: 'Blah', owner: 'Ted', description: 'something'...},
{_id: 70, title: 'GGG', owner: 'Ted', description: 'something'...}...]
Ce que je veux de mes tests pour vérifier, c'est que dans le tableau il contient des titres qui devrait revenir. Rien de ce que je fais à l'aide de Chai/Chai-Des Choses semble fonctionner. Des choses comme res.body.savedResults.should.include.something.that.equals({title: 'Blah'})
erreur je suppose que depuis l'objet d'enregistrement contient d'autres clés et des valeurs au-delà du simple titre.
Est-il un moyen de lui faire faire ce que je veux? J'ai juste besoin de vérifier que les titres sont dans le tableau et ne se soucient pas ce que les autres données peuvent être (c'est à dire _id).
Grâce
OriginalL'auteur Jared Yach | 2017-01-18
Vous devez vous connecter pour publier un commentaire.
C'est ce que j'ai l'habitude de faire dans le test.
Si vous connaissez l'ordre du tableau, vous pourriez aussi le faire:
OriginalL'auteur user2263572
Comme indiqué ici code suivant fonctionne maintenant avec [email protected] et chai-des choses. J'adore le naturel de la lisibilité de cette approche.
OriginalL'auteur kub1x
Une solution alternative pourrait être l'extension de l'objet de tableau avec une fonction pour tester si un objet existe à l'intérieur de la matrice avec la propriété désirée correspondant à la valeur attendue, à l'instar de ce
(j'ai mis cela dans mon principal test.js fichier, de sorte que tous les autres tests imbriqués pouvez utiliser la fonction)
Ensuite, vous pouvez l'utiliser dans vos tests de ce genre
OriginalL'auteur p.desterlich