programing

Jasmine - 함수 내의 함수 호출을 감시하려면 어떻게 해야 합니다.

newstyles 2023. 3. 20. 21:43

Jasmine - 함수 내의 함수 호출을 감시하려면 어떻게 해야 합니다.

컨트롤러에는 다음이 있습니다.

$scope.addRangesAndSquare = function() {
    $scope.addLeftRange();
    $scope.addCenterSquare();
    $scope.addRightRange();
}

그리고 내가 염탐하고 싶은 건$scope.addLeftRange()그 때문에,$scope.addRangesAndSquare라고 불리고 있다$scope.addLeftRange():

it('expect addLeftRange to be called after calling addRangesAndSquare', function () {
    spyOn(scope ,'addRangesAndSquare');
    spyOn(scope, 'addLeftRange');
    scope.addRangesAndSquare();
    expect(scope.addLeftRange).toHaveBeenCalled();
});

이것이 어떻게 행해지는가?

디폴트로는,spyOn재스민으로 기능을 억제하고 그 안에서 실제로 아무것도 실행하지 않습니다.기타 함수 호출을 테스트하려면 다음 번호로 전화해야 합니다..andCallThrough()다음과 같은 경우:

spyOn($scope, 'addRangesAndSquare').andCallThrough();

그 정도면 됐다.

언급URL : https://stackoverflow.com/questions/17705121/jasmine-how-to-spy-on-a-function-call-within-a-function