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

400
Vistas
Jest simula una función que instancia una clase y su constructor tiene una devolución de llamada de error, devolución de llamada no invocada en caso de error

Necesito satisfacer a SonarQube por el caso de error en el código a continuación.

Sin embargo, cuando ejecuto el código de prueba, no fallará.

index.js

 const mod = require('mod') function get_modclass(data) { let modclass = new ModClass(data, function(err) { if (err) { console.log('ERROR: ' + err); throw err } }) return modclass }

index.spec.js

 describe('Test get_modclass', () => { jest.resetModules() jest.clearAllMocks() test('Should fail get_modclass', () => { const idx = require('./index.js'); const mod = require('mod') jest.mock('mod', () => ({ ModClass: jest.fn(() => ({ constructor: (_data, cb) => cb('err'), })) })) try { let mc = idx.get_modclass("abc") } catch(e) { expect(e.message).toEqual('some message') } }) })

En lugar de cb('err') he intentado enviar cb(new Error('err message')) al constructor, pero aun así no fallará. Cuando depuro, entra en la función idx.get_modclass , pero desde allí va directamente a return modclass en lugar de al if de la devolución de llamada.

Ayuda apreciada.

¡Gracias!

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