Related: Can't set timeout for jasmine
Jasmine 2.4.1
My test reports a failure due to timeout, even though the timeout value appears to be greater than the reported time.
I'm doing this:
describe('tests content controller', function(){
beforeAll(function(done) {
jasmine.DEFAULT_TIMEOUT_INTERVAL= 120000;
//...
})
fit('/content GET should return 200',function(done){
request(app)
.get('/content')
.set('Authorization', "bearer " + requestor.token)
.set('Accept', 'application/json')
.expect(200)
.end(function (err, res) {
console.log('timeout',jasmine.DEFAULT_TIMEOUT_INTERVAL); //prints 120000
if (err) done.fail(err);
expect(res.statusCode).toBe(200);
done();
})
});
Then this test fails, with:
1) tests content controller /content GET should return 200
Message:
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 Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
Finished in 106.449 seconds
106.449 seconds is less than 120 seconds, which is what my timeout value appears to be set to.
So why is this test failing?
I wasn't calling done
inside of my beforeAll
, which caused this error.