Ce qui suit est dans mon contrôleur:
$scope.addRangesAndSquare = function() {
$scope.addLeftRange();
$scope.addCenterSquare();
$scope.addRightRange();
}
Et je veux espionner $scope.addLeftRange()
, de sorte que lorsque $scope.addRangesAndSquare
Est appelé, $scope.addLeftRange()
soit:
it('expect addLeftRange to be called after calling addRangesAndSquare', function () {
spyOn(scope ,'addRangesAndSquare');
spyOn(scope, 'addLeftRange');
scope.addRangesAndSquare();
expect(scope.addLeftRange).toHaveBeenCalled();
});
Comment cela peut-il être fait?
Par défaut, lorsque vous utilisez spyOn
avec jasmine, il se moque de cette fonction et n'exécute rien en fait. Si vous souhaitez tester d'autres appels de fonction à l'intérieur, vous devrez appeler .andCallThrough()
, comme ceci:
spyOn($scope, 'addRangesAndSquare').andCallThrough();
ça devrait le faire.