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

294
Vistas
Broma (el caso de prueba está fallando): el clic debe invocar la función en la prueba

Estoy tratando de escribir un caso de prueba en el que me estoy burlando de addEventListener y después de eso debería invocar la función de devolución de llamada, pero recibo este error: expect(jest.fn()).toBeCalledWith(...expected) Expected: "clic", cualquier número de llamadas: 0

Entonces, cuando eliminé el botón de mi archivo javascript y simplemente experimenté para hacer clic en el documento, mi caso de prueba funcionó bien (cambié el caso de prueba y también usé document.addEventlistener en lugar de element). Entonces, mi lógica de llamada simulada es correcta, pero no funciona si uso el botón. Cualquiera tiene idea de cómo se invocará el botón en la prueba de broma.

Aquí está mi archivo test.js

 let btn = document.createElement("button"); btn.type = "button"; let buttonNode = document.createTextNode("submit"); btn.appendChild(buttonNode); document.body.appendChild(btn); function init() { btn.addEventListener("click", () => { this.instance(); }); } function instance() { console.log("Instance method called"); } init(); const exportFunctions = { init, instance, }; module.exports = exportFunctions;

Aquí está mi archivo ejemplo.test.js

const prueba1 = requerir("./prueba");

 test("It should pass", () => { document.body.innerHTML = ` <button type="button">Submit</button> `; const element = document.getElementsByTagName("button")[0]; const instanceMock = jest.spyOn(test1, "instance"); element.addEventListener = jest .fn() .mockImplementationOnce((event, callback) => { callback(); }); test1.init(); expect(element.addEventListener).toBeCalledWith( "click", expect.any(Function) ); expect(instanceMock).toBeCalledTimes(1); });
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