Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

412
Visualizações
Jest: how to test for object keys and values?

I have a mapModule where I import components and export them:

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

export default {
  name: ComponentName,
};

How can I test that mapModule has the correct exported keys, values and that they are not null or undefined?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

In version 23.3.0 of jest,

expect(string).toMatch(string) 

expects a string.

Use:

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

result is passing test

over 4 years ago · Santiago Trujillo Relatório

0

you can use one of those:

toEqual and toMatchObject are template matchers for objects:

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

or easly use toHaveProperty :

let Obj = {name: 'component name'};
expect(oneObj).toHaveProperty('name') // true
expect(oneObj).toHaveProperty('name', 'component name') // true
over 4 years ago · Santiago Trujillo Relatório

0

Keep in mind that .toMatchObject checks

"that a JavaScript object matches a subset of the properties of an object."

So toMatchObject can have unintended assertions such as:

expect({ a: 1, b: 2 }).toMatchObject({ a: 1 }); // pass

If you do want to match an object exactly, you should use .toStrictEqual, available since jest 23:

expect({ a: 1, b: 2 }).toStrictEqual({ a: 1 }); // fail
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda