Javascript 用茉莉花钟测试节气门

Javascript 用茉莉花钟测试节气门,javascript,jasmine,lodash,throttling,Javascript,Jasmine,Lodash,Throttling,目前是否有一种使用jasmine.clock测试lodash节流阀的方法?我找到了2015年的答案,人们说这是不可能的,下面是我发现的一个例子: 我的代码如下所示: let methodTested = _.throttle(() => callMethod, {trailing: true, leading: false }); // this method is imported beforeEach(function() { methodTested(); jasmine

目前是否有一种使用jasmine.clock测试lodash节流阀的方法?我找到了2015年的答案,人们说这是不可能的,下面是我发现的一个例子:

我的代码如下所示:

let methodTested =  _.throttle(() => callMethod, {trailing: true, leading: false }); // this method is imported

beforeEach(function() {
  methodTested();
  jasmine.clock().tick(100);
});

it('callMethod to be called', function() {
  expect(callMethod).toHaveBeenCalled();
});
我正在使用jasmine 2.2和lodash 3.10,这对我来说很有用

洛达斯:

"严格使用",; 常数=需要“lodash”; 描述“foo:”,=>{ 让我们现在开始; beforeach=>{ jasmine.clock.install; jasmine.clock.mockDate; //const nowTime=Date.utc217,0,1;//1483228800*1000,现在 //jasmine.clock.mockDatenew DatenowTime; }; 之后=>{ jasmine.clock.uninstall; }; 它是‘酒吧’,=>{ const callMethod=jasmine.createSpy; const throttled=\ throttle=>callMethod,100; 常数t=setInterval=>{ 节流 }, 50; jasmine.clock.tick400; expectcallMethod.to已被催收4次; 明确间隔; };
};我接到第一个电话,但当我检查是否在100毫秒后第二次呼叫时,我没有得到第二个callupdated lodash样本。如果我把嘲弄日期注释掉,对我来说是行不通的。但它与它一起工作。看看你用的是哪一种lodash和jasmine版本。当我把断点放在它经过的setInterval内时,我仍然无法让它工作。当没有断点并且我执行{leading:false,trailing:true}时,即使使用tick,我也不会得到对callMethod的调用。我认为这是可行的,因为throttle方法是在模拟jasmine.clock之后创建的。因为我正在导入该方法,所以我认为这不会起作用