【问题标题】:How to check if clearTimeout was called with sinon.useFakeTimers?如何检查是否使用 sinon.useFakeTimers 调用了 clearTimeout?
【发布时间】:2017-12-28 17:00:20
【问题描述】:

我将sinon 与fake timers 一起使用,我想检查是否使用特定的超时ID 调用了clearTimeout。

var clock = sinon.useFakeTimers();
functionUnderTest();
// How can I know if functionUnderTest cleared a specific timeout?

【问题讨论】:

    标签: javascript unit-testing sinon cleartimeout


    【解决方案1】:

    clock对象有sinon的定时器相关函数,你可以spy然后断言它们被调用了

    var clock = sinon.useFakeTimers();
    sinon.spy(clock, "clearTimeout");
    
    functionUnderTest();
    
    sinon.assert.calledWith(clock.clearTimeout, 42);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-13
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多