AngularFire有自己的$watch
回调方法,可以附加到$firebaseArray
的实例。
如果我有类似的话:
$scope.registerAngularFireWatch = function(){
$scope.angularFireArray.$watch(function(data){
$scope.myVariable = true;
$scope.anotherVariable = data;
});
};
如何编写Jasmine测试以在此实例中触发$watch
?
答案 0 :(得分:-1)
您应该模拟$firebaseArray
服务并为$watch
函数创建一个间谍:
var firebaseArrayMock = function () {
return {
$watch: jasmine.createSpy()
};
};
var controller;
// ...
beforeEach(function () {
controller = $controller('yourController', {
$firebaseArray: firebaseArrayMock
});
});
然后你可以期待它被称为:
expect(firebaseArrayMock.$watch).toBeCalled();