Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda