javascript - Jasmine - How to spy on a function call within a function? -
the following in controller:
$scope.addrangesandsquare = function() { $scope.addleftrange(); $scope.addcentersquare(); $scope.addrightrange(); } and want spy on $scope.addleftrange(), when $scope.addrangesandsquare called $scope.addleftrange():
it('expect addleftrange called after calling addrangesandsquare', function () { spyon(scope ,'addrangesandsquare'); spyon(scope, 'addleftrange'); scope.addrangesandsquare(); expect(scope.addleftrange).tohavebeencalled(); }); how can done?
by default, when use spyon jasmine, mocks function , doesn't execute within it. if want test further function calls within, you'll need call .andcallthrough(), so:
spyon($scope, 'addrangesandsquare').andcallthrough(); that should it.
Comments
Post a Comment