1

如果我为$qAngular 创建一个用于模拟或创建 Promise 的测试,则会创建一个延迟任务。

我认为通过调用$rootScope.$apply应该解决这些承诺。

但是,如果我这样做$timeout.verifyNoPendingTasks(),则会引发异常,因为

错误:要刷新的延迟任务(1):{id:0,时间:0}

为什么会这样以及如何解决?

 it.only('should work', function () {
        var spy = sinon.spy();
        $q.when().then(spy);
        $rootScope.$apply();
        spy.should.have.been.called;

        $timeout.verifyNoPendingTasks();
    });
4

0 回答 0