4

我正在使用sinon计时器,我想检查是否clearTimeout使用特定的超时 ID 调用。

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

1 回答 1

10

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

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

functionUnderTest();

sinon.assert.calledWith(clock.clearTimeout, 42);
于 2017-12-28T17:00:20.480 回答