javascript - puede - Jasmine-¿Cómo espiar una llamada de función dentro de una función?
whatsapp espia chat (1)
Lo siguiente está en mi controlador:
$scope.addRangesAndSquare = function() {
$scope.addLeftRange();
$scope.addCenterSquare();
$scope.addRightRange();
}
Y quiero espiar a $scope.addLeftRange() , de modo que cuando se llama a $scope.addLeftRange() lo es $scope.addLeftRange() :
it(''expect addLeftRange to be called after calling addRangesAndSquare'', function () {
spyOn(scope ,''addRangesAndSquare'');
spyOn(scope, ''addLeftRange'');
scope.addRangesAndSquare();
expect(scope.addLeftRange).toHaveBeenCalled();
});
¿Cómo se puede hacer esto?
De forma predeterminada, cuando usas spyOn con jasmine , spyOn esa función y no ejecuta nada dentro de ella. Si desea probar otras llamadas de función dentro, deberá llamar a .andCallThrough() , así:
spyOn($scope, ''addRangesAndSquare'').andCallThrough();
Deberias hacer eso.