【问题标题】: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);