延迟加载测试:
我正在尝试为 Jasmine 构建一个测试来测试使用Q.delay的方法。为了等待 10 秒,我使用 Jasmine 的时钟:
jasmine.Clock.tick(10010);
这适用于 Chrome,但不适用于 Firefox。我看到 Q 的延迟方法使用了setTimeout所以我看不出不同行为的任何原因。
任何想法为什么它在 Firefox 上失败?
在v1 标签中使用 jasmine 2.0 和 Q ,我可以运行这个规范:
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 中修复了这个问题,或者如果你有一些更复杂的规范,我不会在这里复制。