0

В моем контроллере AngularJS у меня есть метод $scope.init, который вызывается при инициализации контроллера. $scope.init вызывает $scope.loadData и $scope.loadNames, каждый из которых передает HTTP GET запрос API для получения некоторых данных.AngularJS - модульное тестирование метода контроллера, вызываемого при инициализации

Я написал некоторые модульные тесты, используя $httpBackend, чтобы высмеять ответы API и тест $scope.loadData и $scope.loadNames. Те работают нормально, но то, что я не могу проверить, это метод $scope.init. Есть ли способ издеваться или заглушить метод, вызываемый при инициализации контроллера? Каковы наилучшие методы для этого?

ответ

0

Вы можете проверить, что объекты сферы, измененные в $scope.init, имеют правильные значения после инициализации контроллера. Вы даже можете попытаться изменить значение этих объектов, и повторите метод инициализации, и убедитесь, что все матчи после

0

Вы можете тест:

  • состояние контроллера, как ожидается, после того, как он «инициализирован»

  • убедитесь, что loadnames и LoadData вызывается (Жасмин spyOn + toHaveBeenCalled)

  • играть с объектом обещание насмешливый ответ loadnames/методы LoadData проверить ваши поведение в непредвиденных условиях

Смежные вопросы