Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

146
Views
Prueba de instancias en una función que depende de instancia de (JEST)

Tengo un problema al escribir una prueba de unidad para probar una función que tiene verificación de instancia. Lógica de negocios:

 let status = new B(); const testFunction = () => { if (status instanceof A) { console.log('inside A') } else if (status instanceof B) { console.log('inside B') } else { console.log('No matchers') }

}

Prueba de unidad:

 describe('test', ()=>{ it("should test b", ()=>{ let status = new A() expect(status).toBeInstanceOf(A) // passes expect(logSpy).toHaveBeenCalledWith('inside A') // fails and it expects 'inside B' }) })

Una razón por la que siento que la prueba está fallando es porque en el archivo original, el status devuelve una instancia de clase B, por lo que coincide con else if y not if . No estoy seguro de cómo probar este código sin cambiar status . ¿Hay alguna manera de que me lo esté perdiendo?

EDITAR: aquí se supone que testFunction() ya se invocó en las pruebas unitarias

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede pasar el estado como parámetro de su función;

 const testFunction = (status) => { if (status instanceof A) { console.log('inside A') } else if (status instanceof B) { console.log('inside B') } else { console.log('No matchers') } }

Luego, se debe llamar a testFunction() con el estado que necesita probar;

 const status = new A(); testFunction(status);

El problema con su prueba es que la función que está probando tiene su propio alcance, la otra solución es simular la variable, pero podría confundirse más

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!