如何在 sinon 中监视 clearInterval()?

How to put a spy on clearInterval() in sinon?

我想测试 clearInterval() 是否已在 componentWillUnmount() 上被调用。如何在 clearInterval() 上设置间谍?

it("should unmount", () => {
    const wrapper = shallow(<MessageLoaderWrapper messageList={messageList} />);
    wrapper.unmount();
    expect(wrapper.find(".tabs-infinite-loader--message").length).to.equal(0);
});

目前正在测试一个类名不再存在;但真的应该测试 clearInterval() 被调用了。

可以在 windowglobal 上监视全局函数,具体取决于环境,例如:

sinon.spy(global, 'clearInterval');
...
expect(clearInterval).to.have.been.calledOnce;