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

276
Views
En Jest, ¿cómo puedo hacer que una prueba falle?

Sé que podría arrojar un error desde dentro de la prueba, pero me pregunto si hay algo como el método global fail() proporcionado por Jasmine.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Jest en realidad usa Jasmine, por lo que puedes usar fail como antes.

Ejemplo de llamada:

 fail('it should not reach here');

Aquí está la definición del archivo de declaración de TypeScript para Jest:

 declare function fail(error?: any): never;

Si sabe que una llamada en particular debería fallar, puede usar expect .

 expect(() => functionExpectedToThrow(param1)).toThrow(); // or to test a specific error use expect(() => functionExpectedToThrow(param1)).toThrowError();

Consulte los documentos de Jest para obtener detalles sobre cómo pasar una cadena, una expresión regular o un objeto de error para probar el error esperado en el método toThrowError .

Para una llamada asincrónica, use .rejects

 // returning the call return expect(asyncFunctionExpectedToThrow(param1)) .rejects(); // or to specify the error message // .rejects.toEqual('error message');

Con async/await necesitas marcar la función de prueba con async

 it('should fail when calling functionX', async () => { await expect(asyncFunctionExpectedToThrow(param1)) .rejects(); // or to specify the error message // .rejects.toEqual('error message'); }

Consulte la documentación sobre .rejects y en el tutorial .

También tenga en cuenta que la función de fail de Jasmine puede eliminarse en una versión futura de Jest, consulte el comentario de Yohan Dahmani. Puede comenzar a usar el método de expect anterior o hacer un fail de búsqueda y reemplazo con throw new Error('it should not reach here'); como se menciona en otras respuestas. Si prefiere la concisión y la legibilidad de fail , siempre puede crear su propia función si la de Jasmine se elimina de Jest.

 function fail(message) { throw new Error(message); }
over 4 years ago · Santiago Trujillo Report

0

Puedes hacerlo arrojando un error. Por ejemplo:

 test('Obi-Wan Kenobi', () => { throw new Error('I have failed you, Anakin') })
over 4 years ago · Santiago Trujillo Report

0

Prueba fallida de copiar/pegar:

 it('This test will fail', done => { done.fail(new Error('This is the error')) })
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!