276 votes

Jest : Comment tester les clés et les propriétés des objets

J'ai un mapModule où j'importe des composants et les exporte :

import ComponentName from '../components/ComponentName';

export default {
  name: ComponentName,
};

Comment puis-je tester que mapModule a les clés et les valeurs exportées correctes et qu'elles ne sont pas nulles ou indéfinies ?

280voto

toufek khoury Points 730

Vous pouvez utiliser l'un d'entre eux :

toEqual et toMatch sont des modèles de correspondance pour les objets :

let Obj = {name: 'component name', id: 2};
expect(oneObj).toEqual({name: 'component name'}) // false, should be exactly equal all Obj keys and values  
expect(oneObj).toMatchObject({name: 'component name'}) // true

ou utiliser facilement toHaveProperty :

let Obj = {name: 'component name'};
expect(oneObj).toHaveProperty('name') // true
expect(oneObj).toHaveProperty('name', 'component name') // true

244voto

user3605834 Points 442

Dans la version 23.3.0 de jest,

expect(string).toMatch(string) 

attend une chaîne de caractères.

Utilisez :

const expected = { name:'component name' }
const actual = { name: 'component name', type: 'form' }
expect(actual).toMatchObject(expected)

le résultat est un test réussi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X