Mensaje:

   Error: Timeout - Async callback was not invoked within timeout specified 
   by jasmine.DEFAULT_TIMEOUT_INTERVAL.

  Stack:
     Error: Timeout - Async callback was not invoked within timeout   
      specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
        at ontimeout (timers.js:365:14)
        at tryOnTimeout (timers.js:237:5)
        at Timer.listOnTimeout (timers.js:207:5)
2
Parthi 27 dic. 2016 a las 14:20

3 respuestas

La mejor respuesta

Aumente el intervalo de tiempo predeterminado de jasmin. Agrega el código a continuación al archivo conf.js.

Código:

    jasmineNodeOpts: {
      showColors: true,
      includeStackTrace: true,
      defaultTimeoutInterval: 1440000
     }
5
OptimWorks 27 dic. 2016 a las 11:22

Agregue esto a karma.conf.js

module.exports = function(config) {
  config.set({
    client: {
      jasmine: {
        random: true,
        seed: '4321',
        oneFailurePerSpec: true,
        failFast: true,
        timeoutInterval: 1000
      }
    }
  })
}

Fuente https://github.com/karma-runner/karma-jasmine#configuration

0
speksy 28 mar. 2020 a las 22:51

jasmine.DEFAULT_TIMEOUT_INTERVAL es el período de tiempo en milisecs que Jasmine esperará un solo bloque it antes de generar un error de tiempo de espera.

El error de tiempo de espera puede ser una señal de que algo está mal en su código o que simplemente lleva más tiempo ejecutarlo. Como se indicó en otra respuesta, puede aumentar el intervalo de tiempo de espera global de Jasmine o, para una sola prueba, establecer el tiempo de espera de esta manera:

const myTestTimeout: number = 2 * 60 * 1000; //explicitly set for readabilty

it('should validate something', (() => { ...your test code }), myTestTimeout);

Mi enfoque sería aumentar el tiempo de espera para esa prueba específica para que esté seguro de que la prueba tiene suficiente tiempo (por ejemplo, 3 minutos). Si la prueba falla nuevamente, puede estar bastante seguro de que la causa del error es un problema en su código.

6
Fjut 28 dic. 2016 a las 15:36