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.