Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

279
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda