2017-01-06 8 views
0

AngularFireには、$firebaseArrayというインスタンスにアタッチできる独自の$watchコールバックメソッドがあります。

私のようなものがある場合:私は、このインスタンスで$watchをトリガするためにジャスミンのテストを書くにはどうすればよい

$scope.registerAngularFireWatch = function(){ 
    $scope.angularFireArray.$watch(function(data){ 
     $scope.myVariable = true; 
     $scope.anotherVariable = data; 
    }); 
}; 

を?

答えて

-1

あなたは$firebaseArrayサービスを模擬し、$watch機能のためにスパイを作成する必要があります。

var firebaseArrayMock = function() { 
    return { 
    $watch: jasmine.createSpy() 
    }; 
}; 
var controller; 
// ... 
beforeEach(function() { 
    controller = $controller('yourController', { 
    $firebaseArray: firebaseArrayMock 
    }); 
}); 

次に、あなたはそれが呼ばれるようにするために期待することができます:

expect(firebaseArrayMock.$watch).toBeCalled(); 
関連する問題