相关:Can't set timeout for jasmine
Jasmine 2.4.1
我的测试报告由于超时而导致失败,即使超时值似乎大于报告的时间。
我这样做:
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();
})
});
然后这个测试失败了,用:
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秒小于120秒,这是我的超时值似乎设置为。
那么为什么这个测试失败了?
答案 0 :(得分:2)
我没有在done
内部调用beforeAll
,导致此错误。