如何检查是否使用sinon.useFakeTimers调用了clearTimeout?

时间:2017-12-28 17:00:20

标签: javascript unit-testing sinon cleartimeout

我正在sinon使用fake timers,我想检查是否使用特定的timeout-id调用了clearTimeout

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

1 个答案:

答案 0 :(得分:7)

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

var clock = sinon.useFakeTimers();
sinon.spy(clock, "clearTimeout");

functionUnderTest();

sinon.assert.calledWith(clock.clearTimeout, 42);