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

330
Vistas
Uso de jest.spyOn con la sintaxis del módulo de importación

Estoy escribiendo algunas pruebas para mi aplicación de nodo con Jest.

Mis pruebas unitarias se basan en spyOn para simular algunas funciones:

 const instrumentsData = require('../../../../dataAccess/instrumentsData'); describe('Test updateInstrument', () => { let getSpyInstruments: jest.SpyInstance; it('Update instrument - success', async () => { getSpyInstruments = jest.spyOn(instrumentsData, 'update'); getSpyInstruments.mockReturnValueOnce({_id: 'testID', ...mockInstrumentParams});

InstrumentsData es un módulo que exporta varias funciones, como update .

Como quiero usar la sintaxis de importación, cambié la importación de la siguiente manera:

 import * as instrumentsData from '../../../../dataAccess/instrumentsData';

Con instrumentsData funciona, porque se devuelven múltiples funciones, sin una exportación predeterminada. Si estoy haciendo lo mismo con un archivo con una única exportación predeterminada (como currenciesData , que contiene la exportación predeterminada para findOneCurrency ), desencadena este error:

 getSpyCurrencies = jest.spyOn(currenciesData, 'findOneCurrency');

Ninguna sobrecarga coincide con esta llamada. Sobrecarga 1 de 4, '(objeto: typeof import("project/src/dataAccess/currenciesData"), método: "predeterminado"): SpyInstance<Promise<LeanDocument<ICurrencyModel & { _id: any; }>>, [id: ...]>', dio el siguiente error. El argumento de tipo '"findOneCurrency"' no se puede asignar al parámetro de tipo '"default"'. Sobrecarga 2 de 4, '(objeto: typeof import("project/src/dataAccess/currenciesData"), método: nunca): SpyInstance<nunca, nunca>', generó el siguiente error. El argumento de tipo 'cadena' no se puede asignar al parámetro de tipo 'nunca'.ts(2769)

¿Cómo puedo arreglar esto?

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