es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

supertest obtiene un error de tiempo de espera cuando utilizo await en un controlador.

const express = require('express');
const router = express.Router();
const Product = require('./../model/product');

router
  .route('/api/product')
  .get(async (req, res) => {
    const product = await Product.find({});
    console.log(product);
    return res.status(200).send({ message: 'ok' });
  });

module.exports = { router };

El código anterior es mi archivo de controlador.

const request = require('supertest');
const { app } = require('./../../app');

it('crea un producto y la lista de productos está vacía', async () => {
  await request(app).get('/api/product').expect(200);
});

Y este es mi archivo de prueba. Cuando ejecuto la prueba, recibo este error:

Lanzado: “Tiempo de espera de 5000 ms excedido para una prueba.
Utilice jest.setTimeout(nuevoTiempoDeEspera) para aumentar el valor de tiempo de espera si esta es una prueba de larga duración.”

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la prueba está tardando más tiempo del valor de tiempo de espera predeterminado de 5000 ms en completarse. Para solucionar el problema, puedes aumentar el valor de tiempo de espera utilizando la función jest.setTimeout(nuevoTiempoDeEspera) en tu archivo de prueba. Por ejemplo, puedes agregar la siguiente línea al principio de tu prueba:

    jest.setTimeout(10000);
    

    Esto aumentará el valor de tiempo de espera a 10000 ms (10 segundos). Ajusta el valor de tiempo de espera según sea necesario, en base a la complejidad y duración esperada de tu prueba.

Comments are closed.