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

213
Vistas
Método asincrónico privado de prueba unitaria

Puede probar la sincronización de funciones privadas usando espías sinon:

 // app window.App = { const childFunc = function(){ console.log("in childFunc") } const parentFunc = function(){ this.childFunc() } const publicFuncs = function(){ ... // Make private functions available foe testing _private = { parentFunc: parentFunc, childFunc: childFunc } } return publicFuncs }() // tests const sandbox = sinon.createSandbox(); const app = new window.App(); beforeEach(function () { sandbox.spy(app._private); }); afterEach(function () { sandbox.restore(); }); const app = new window.App(); app._private.parentFunc() assert(app._private.childFunc.calledOnce)

Lo que en realidad estás probando es que se llamó a la clave childFunc en app._private .

Sin embargo, si se llama a parentFunc de forma asincrónica, es decir,

 const otherFunc = async function(){ await parentFunc() }

Entonces, es posible que this palabra clave no esté definida dentro parentFunc cuando se ejecuta, lo que significa que no puede usar this.childFunc .

Puede llamar a childFunc() directamente, sin embargo, sinon no podrá detectar que se ha ejecutado childFunc , por lo que no puede probarlo.

¿Me estoy perdiendo algo aquí?

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