Sto tentando di inserire il codice del controller di test all'interno di un modulo che accetta altri moduli come dipendenze, ma non sono stato in grado di capire come prenderli in giro correttamente.Mocking Dipendenze dei moduli angolari nei test delle unità Jasmine
Sto utilizzando il framework Jasmine e sto eseguendo i miei test con Karma (Testacular).
Codice Modulo
var app = angular.module('events', ['af.widgets', 'angular-table']);
app.controller('eventsCtrl', function([dependencies]){
$scope.events = [];
...
});
Codice Spec
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([]);
})
});
L'errore che sto ottenendo è Karma è "no af.widgets modulo", quindi ovviamente non sto beffardo le dipendenze del modulo a destra. Qualche suggerimento?
$ scope = $ rootScope.new(); dovrebbe essere $ scope = $ rootScope. $ new(); (forse per la nostra versione) –