懒惰加载测试:
我正在尝试为Jasmine构建一个测试,以测试使用Q.delay的方法。为了完成10秒的等待,我使用了Jasmine的时钟:
jasmine.Clock.tick(10010);
这在Chrome上有效,但在Firefox上不起作用。我看到Q的延迟方法使用了setTimeout,所以我看不出有任何不同行为的原因。
知道为什么它在Firefox上失败了吗?
有了jasmine 2.0和Q的v1标签,我就可以运行这个规范:
describe("testing", function() {
beforeEach(function() {
jasmine.clock().install();
});
afterEach(function() {
jasmine.clock().uninstall();
});
it("should work", function() {
var foo = null;
Q.delay('hi', 10000).then(function(arg) {
foo = arg;
});
jasmine.clock().tick(10010);
expect(foo).toEqual('hi');
});
});
chrome、firefox和phantomjs都没有问题。我不确定这是因为我们在2.0中解决了这个问题,还是因为你有一些更复杂的规范,我不会在这里复制。