• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

199
Vistas
Broma, ¿cómo simular una devolución de llamada importada en la desestructuración de objetos?

Hice las pruebas de la siguiente manera, pero me molesta cómo necesito importar un objeto con las funciones, en lugar de solo importar las funciones.

esto funciona

 //service.test.js const get = require('../../modules/bankUser/model/getRegisteredUser'); get.getRegisteredUser = jest.fn() .mockImplementationOnce(async () => mock) .mockImplementationOnce(async () => mockUpdated);
 //service.js const get = require('../model/getRegisteredUser'); const testedFunction () => { const depositReciver = await get.getRegisteredUser(depositName, depositCpf); }

esta dosis

 //service.test.js const get = require('../../modules/bankUser/model/getRegisteredUser'); get.getRegisteredUser = jest.fn() .mockImplementationOnce(async () => mock) .mockImplementationOnce(async () => mockUpdated);
 //service.js const { getRegisteredUser } = require('../model/getRegisteredUser'); const testedFunction () => { const depositReciver = await getRegisteredUser(depositName, depositCpf); }

Estoy intentando esto ( camino ):

 //service.test.js const get = require('../../modules/bankUser/model/getRegisteredUser'); jest.mock('../../modules/bankUser/model/getRegisteredUser'); get.mockImplementationOnce(() => ({ getRegisteredUser: () => mockObject }));

broma devuelve esto:

 TypeError: get.mockImplementationOnce is not a function

también he intentado importar así

 //service.test.js const { getRegisteredUser } = require('../../modules/bankUser/model/getRegisteredUser'); jest.mock('../../modules/bankUser/model/getRegisteredUser'); getRegisteredUser.mockImplementationOnce(() => ({ getRegisteredUser: () => mockObject }));

EDITAR

 //getRegisteredUser.js const { getConnection } = require('../../../global/connection'); const getRegisteredUser = async (userName, cpf) => { const db = await getConnection('Data-Base'); const res = await db.collection('Collection') .findOne({ userName, cpf }); return res; }; module.exports = { getRegisteredUser };
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El ejemplo que está señalando [https://jestjs.io/docs/es6-class-mocks#replacing-the-mock-using-mockimplementation-or-mockimplementationonce][1] está relacionado con la exportación predeterminada, pero creo que usted es usando exportación con nombre en su código.

Hay varias formas de hacerlo

Un camino

 const get = require('../../modules/bankUser/model/getRegisteredUser'); jest.mock('../../modules/bankUser/model/getRegisteredUser'); get.getRegisteredUser.mockImplementationOnce(() => mockObject);

Segunda Vía

 jest.mock('../../modules/bankUser/model/getRegisteredUser', () => ({ ...jest.requireActual('../../modules/bankUser/model/getRegisteredUser'), getRegisteredUser: jest.fn().mockImplementation(() => mockObject), }))

una otra manera

 We can also mock a module using the __mocks__ directory which is inbuilt feature of jest

Y al final, nunca se olvidó de llamar a clearAllMocks() después de cada prueba; de lo contrario, puede afectar el resultado de otras pruebas.

 afterEach(() => { jest.clearAllMocks(); });
almost 3 years ago · Juan Pablo Isaza Denunciar
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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda