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

118
Views
Cómo probar si se llama a la función con la palabra clave asíncrona

Quiero escribir una prueba simple para mi aplicación vue3, la prueba debe afirmar que la función específica (updateRoute en este caso) se declara con async en diferentes componentes

Nota: según mi proyecto actual, no puedo aislar esta función en un solo archivo para que sea reutilizable

ejemplo:

 const updateRoute = () => { doSomethig() }

debería fallar

mientras

 const updateRoute = async () => { await doSomethig() }

debería pasar

la biblioteca de prueba no importa, puede ser broma o cualquier otra cosa

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No hay una forma confiable ni ninguna razón para detectar la función async . Para una función que devuelve una promesa, es lo mismo que:

 const updateRoute = () => { return doSomethig().then(() => {}) // Returns a promise of undefined }

Debe probarse que updateRoute devuelve una promesa, con async o no. En broma es:

 expect(updateRoute()).toEqual(expect.any(Promise));

En cuanto a la await obligatoria, esto se puede manejar con la regla require-await obligatoria de ESLint si es necesario.

over 4 years ago · Santiago Trujillo Report

0

Compruebe si el nombre del contructor.name de la función es igual a 'AsyncFunction' :

 const x = async () => {}; const y = () => {} console.log(x.constructor.name); console.log(x.constructor.name === 'AsyncFunction'); console.log(y.constructor.name); console.log(y.constructor.name === 'AsyncFunction');

over 4 years ago · Santiago Trujillo 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!