web-dev-qa-db-fra.com

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

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

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

export default {
  name: ComponentName,
};

Comment puis-je vérifier que mapModule possède les clés et valeurs exportées correctes et qu'elles ne sont ni nulles ni indéfinies?

32
fasenberg

Dans la version 23.3.0 de jest,

expect(string).toMatch(string) 

attend une chaîne.

Utilisation:

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

le résultat est réussi

43
user3605834

vous pouvez utiliser l'un de ceux-ci:

toEqual et toMatch sont des correspondeurs de modèles 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 utilisez facilement toHaveProperty:

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