Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

251
Vistas
NodeJS Jest: función de prueba que importa el módulo usando require.main.require

Estoy tratando de escribir pruebas unitarias usando Jest para un proyecto de Node JS. Estaba importando todos los módulos usando require.main.require

A continuación se muestra la simulación del problema. El código se puede encontrar aquí: https://stackblitz.com/edit/node-jest-demo?file=index.js

Tengo el siguiente archivo de prueba presente en mi directorio raíz en el que estoy importando index.js

./sample.pass.test.js

 const { checkUser } = require('./index'); console.log(checkUser); // This is purely to check If i can access checkUser from this file or not describe('Testing...', () => { it('Should pass', () => { expect(0).toBe(0); }); });

En mi index.js estoy importando otra función usando require.main.require

 const { getUserById } = require.main.require('./models/UserModel'); function checkUser(id) { const user = getUserById(id); return user ? 'Found' : 'Not Found'; } module.exports.checkUser = checkUser;

El caso de prueba anterior está pasando. Pero si tuviera que colocar el mismo archivo de prueba en algún otro directamente (como _ test_ ), entonces falla.

Por ejemplo: ./__ prueba __/sample.fail.test.js

Observe aquí que ajusté la declaración requerida de índice ya que ahora está un nivel más arriba

 const { checkUser } = require('../index'); console.log(checkUser); describe('Testing...', () => { it('Should pass', () => { expect(0).toBe(0); }); });

El resultado muestra que no puede acceder a UserModel.

 Cannot find module './models/UserModel' from '__tests__/sample.fail.test.js' Require stack: index.js __tests__/sample.fail.test.js > 1 | const { getUserById } = require.main.require('./models/UserModel'); | ^ 2 | 3 | function checkUser(id) { 4 | const user = getUserById(id);

¿Cuál podría ser la solución en este caso?

¡Gracias de antemano!

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda