gpt4 book ai didi

javascript - Jasmine - 如何监视函数内的函数调用?

转载 作者:行者123 更新时间:2023-12-02 23:00:32 25 4
gpt4 key购买 nike

以下内容位于我的 Controller 中:

$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();
});

如何做到这一点?

最佳答案

默认情况下,当您将 spyOnjasmine 一起使用时,它会模拟该函数,并且实际上不会执行其中的任何内容。如果您想测试其中的进一步函数调用,则需要调用 .andCallThrough(),如下所示:

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

应该可以了。

关于javascript - Jasmine - 如何监视函数内的函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17705121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com