我有一个控制器 1.等待承诺得到解决 2.设置观察者
promise和watcher处理程序都修改了在控制器范围内定义的属性。
伪测试看起来像这样:
it('should expect correct values set on the scope', function () {
myPromise.resolve(); // modifies someVar in promise handler
$scope.$digest(); // for the promise handler being applied; modifies someVar in $watch handler though
expect(someVar).toEqual(someValue);
})
问题是规范中的$ digest()会强制观察者被解雇,这会导致可能的冲突,因为它会修改某些值的值,这是promise测试的主题。我想隔离promise处理程序测试,理想情况下不会触发$ digest和观察者。有任何想法吗?