Я пытаюсь проверить, что какой-то код выполняется с использованием $ scope. $ On в компоненте AngularJS 1.5+. Я не уверен, как правильно установить $ rootScope в Jasmine, чтобы я мог выполнить трансляцию. Я использую эту страницу, описывающую стека, и этот блог в качестве ссылки. Вот мой код.
// Component
(function (app) {
app.component('demoComponent', {
controller: ['$scope' function ($scope) {
$scope.$on('someBroadcast', function (data) {
// do something with data...
});
}]
});
})(angular.module('demoApp'));
// Jasmine setup
var ctrl, $rootScope, $componentController;
beforeEach(function () {
module('demoApp');
inject(function ($rootScope, _$componentController_) {
ctrl = $rootScope.$new();
$componentController = _$componentController_('demoComponent', { $scope: ctrl }, null);
});
});
Мой код не работает в функции ввода в настройке Jasmine. Кто-нибудь знает, что мне нужно изменить, чтобы это работало?