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

139
Views
¿Puedes escribir pruebas asincrónicas que esperan lanzar?

Estoy escribiendo una prueba asíncrona que espera que la función asíncrona se arroje así:

 it("expects to have failed", async () => { let getBadResults = async () => { await failingAsyncTest() } expect(await getBadResults()).toThrow() })

Pero broma es simplemente fallar en lugar de pasar la prueba:

 FAIL src/failing-test.spec.js ● expects to have failed Failed: I should fail!

Si reescribo la prueba para que se vea así:

 expect(async () => { await failingAsyncTest() }).toThrow()

Recibo este error en lugar de pasar la prueba:

 expect(function).toThrow(undefined) Expected the function to throw an error. But it didn't throw anything.
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Puede probar su función asíncrona de esta manera:

 it('should test async errors', async () => { await expect(failingAsyncTest()) .rejects .toThrow('I should fail'); });

La cadena 'Debería fallar' coincidirá con cualquier parte del error arrojado.

over 4 years ago · Santiago Trujillo Report

0

Me gustaría agregar a esto y decir que la función que está probando debe arrojar un objeto Error real throw new Error(...) . Jest no parece reconocer si lanzas una expresión como throw 'An error occurred!' .

over 4 years ago · Santiago Trujillo Report

0

await expect(async () => { await someAsyncFunction(someParams); }).rejects.toThrowError("Some error message");

Debemos envolver el código en una función para detectar el error. Aquí esperamos que el mensaje de error lanzado por someAsyncFunction sea igual a "Algún mensaje de error". También podemos llamar al controlador de excepciones

 await expect(async () => { await someAsyncFunction(someParams); }).rejects.toThrowError(new InvalidArgumentError("Some error message"));

Leer más https://jestjs.io/docs/expect#tothrowerror

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!