javascript - Usando expect.assertions(x) vs usando fail() en pruebas jest
Estoy configurando algunas pruebas asincrónicas de junit en TypeScript y parece que no entiendo correctamente la documentación.
Escribí una prueba solicitando a una API web una imagen SVG específica enviando el ID de la imagen.
La prueba no envía ningún ID, por lo que la API web debería devolver el código HTTP 404. Esta es la prueba y funciona bien:
test("getSvgByImageId unknown", () => {
expect.assertions(1);
return client.getSvgImageById("")
.then(svg => {
fail("API should return error")
})
.catch(error => {
expect(error.status).toBe(404);
})
});
Pero, ¿por qué debería usar expect.assertions(x) cuando uso el método fail()? La prueba también funciona sin la línea expect.assertions(x).
Respuesta #1
De esta publicación de un colaborador de Jest en referencia a la función global fail():
Eso dejará de funcionar en algún momento: no forma parte de la API documentada de Jest.
Jest se basa en Jasmine y fail() es una herencia de Jasmine.
No forma parte oficialmente de la documentación de Jest, por lo que no debería usarse ya que podría ser eliminado en futuras versiones de Jest.