jasmine 2 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时时间内未调用异步回调 [英] jasmine 2 - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
问题描述
遇到jasmine 2问题并将异步规格连接起来:
Having trouble with jasmine 2 and getting async specs wired up:
define(['foo'], function(foo) {
return describe('foo', function() {
beforeEach(function(done) {
window.jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
return setTimeout((function() {
console.log('inside timeout');
return done();
}), window.jasmine.DEFAULT_TIMEOUT_INTERVAL);
});
return it('passes', function() {
return expect({}).toBeDefined();
});
});
});
当我通过业力运行时,我回来了
When I run via karma, I get back
错误:超时 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时
内未调用异步回调。
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
然后规格失败。我试图覆盖默认超时但我无法通过错误
and then the specs fail. I have attempted to override the default timeout but I can't get past the error
推荐答案
您使用的是相同的超时间隔Jasmine用于在超时时测试失败,即你的超时被触发,因为Jasmine的默认时间间隔未通过测试。
You are using the same timeout interval as Jasmine is using to fail tests on timeout, i.e. your timeout is triggered to fire with Jasmine's default interval, which fails the test.
如果你将超时设置为小于茉莉默认超时测试通过。
If you set your timeout to be less than jasmine default timeout the test passes.
describe('foo', function () {
beforeEach(function (done) {
window.jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
setTimeout(function () {
console.log('inside timeout');
done();
}, 500);
});
it('passes', function () {
expect({}).toBeDefined();
});
});
请参阅小提琴这里
这篇关于jasmine 2 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时时间内未调用异步回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!