Javascript 为什么我的模拟时间的测试功能在某些环境中从未完成?
我有以下sinon.js/chai.js测试我的javascript类Javascript 为什么我的模拟时间的测试功能在某些环境中从未完成?,javascript,sinon,chai,Javascript,Sinon,Chai,我有以下sinon.js/chai.js测试我的javascript类 description('tick',function(){ beforeach(函数(){ this.clock=sinon.useFakeTimers(); }); 之后(函数(){ this.clock=sinon.restore(); }); 它('应该增加等待所有翻译人员的时间',函数(){ let queue=new TranslatorQueue(); queue.join(“translator1”); 这
description('tick',function(){
beforeach(函数(){
this.clock=sinon.useFakeTimers();
});
之后(函数(){
this.clock=sinon.restore();
});
它('应该增加等待所有翻译人员的时间',函数(){
let queue=new TranslatorQueue();
queue.join(“translator1”);
这个。时钟。滴答(1000);
expect(u.head(queue.queue.timeWaiting).to.equal(1);
queue.join(“translator2”);
这个。时钟。滴答(1000);
expect(u.head(queue.queue).timeWaiting).to.equal(2);
expect(u.last(queue.queue.timeWaiting).to.equal(1);
});
});代码>嗯,通过写出来回答你自己的问题似乎在这里奏效了
作为将来的参考,该问题是由于sinon.useFakeTimers()
的范围超出了我们可能希望的范围
由于我的代码只使用了setInterval()
,我可以通过将假调用改为
this.clock=sinon.useFakeTimers(“设置间隔”)代码>
我在这里找到了相关信息:
我不能100%确定为什么它能在我的机器上工作,但不能在服务器上工作…哈哈,我喜欢这种情况。它叫:-)