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

214
Visualizações
Simular una función dentro de un módulo usando Jest

Actualmente tengo un problema al burlarme de una función dentro de otra biblioteca.

En nuestro equipo, tenemos un proyecto (npm lib, llamémoslo component-lib) con algunos componentes y funciones que utiliza nuestra aplicación principal React. Exponemos las funciones y componentes en un solo archivo JS. (index.js) así:

 import { isFeatureEnabled } from './modules/features' import mockComponent from './components/mockComponent' export { isFeatureEnabled, mockComponent }

Estoy tratando de simular el valor de retorno de una de las funciones dentro de este componente-lib que está siendo utilizado por la aplicación de reacción principal, mi prueba unitaria es así:

PD: estoy usando Jest y React Testing Library

 describe('unit test', () => { jest.mock('component-lib', () => ({ ...jest.requireActual('component-lib'), isFeatureEnabled: jest.fn().mockReturnValue(false) })) it('Should send data', () => { render(<Main />) [... i do some stuff here and trigger the isFeatureEnabled function ...] }) })

y el codigo lo uso:

 function onSubmitPassword (data) { console.log('is this feature enabled? ', isFeatureEnabled('feature')) // logs as true if (isFeatureEnabled('feature') { ...do this // this is executed } else { do that } }

La cuestión es que cuando hago un console.log para ver el valor de isFeatureEnabled, devuelve verdadero en lugar de falso, ignorando el simulacro.

¿Tienen alguna idea de por qué el simulacro no funciona en este caso?

Ya intenté importar la lib como:

 import * as components from 'component-lib' jest.mock('component-lib', () => ({ ...jest.requireActual('component-lib'), isFeatureEnabled: jest.fn() })) it('Should send data', () => { isFeatureEnabled.mockReturnValue(false) render(<Main />) [... i do some stuff here and trigger the isFeatureEnabled function ...] })

y devuelve un error diciendo que la función solo tiene un getter

about 4 years ago · Juan Pablo Isaza
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