Я пытаюсь выполнить код unit test контроллера внутри модуля, который использует другие модули в качестве зависимостей, но не смог выяснить, как правильно их имитировать.
Я использую Jasmine Framework и запускаю свои тесты с помощью Karma (Testacular).
Код модуля
var app = angular.module('events', ['af.widgets', 'angular-table']);
app.controller('eventsCtrl', function([dependencies]){
$scope.events = [];
...
});
Код спецификации
describe('events module', function(){
var $scope,
ctrl;
beforeEach(function(){
angular.mock.module('af.widgets', []);
angular.mock.module('angular-table', []);
module('events', ['af.widgets', 'angular-table']);
});
beforeEach(inject(function($rootScope, $controller){
$scope = $rootScope.new();
ctrl = $controller('NameCtrl', {
$scope: $scope,
});
}));
it('should have an empty events array', function(){
expect($scope.events).toBe([]);
})
});
Ошибка, которую я получаю, это "нет модуля af.widgets", поэтому, очевидно, я не издеваюсь над зависимостями модулей. Любые намеки?