如何使用 sinon 模拟 $timeout 服务?

How to mock $timeout service using sinon?

我需要为 Angular 控制器中使用 $timeout 服务的方法创建单元测试。问题是我被告知不要使用注入。所以我必须自己模拟 $timeout 。我怎样才能使用 sinon 做到这一点?

我想到了 $timeout 的简单替换:

const $timeout = (func) => {
    func();
};

我将其传递给控制器​​