Eu tenho o seguinte cenário:
Uma classe de teste cujo objetivo é validar minha diretiva AngularJS...
describe('Directive Spec', function() {
var $compile, $rootScope, directives;
beforeEach(module('ui-first', 'ui-first.directive'));
beforeEach(module(function(_$provide_) {
_$provide_.value('$commons');
}));
beforeEach(inject(function(_$compile_, _$rootScope_) {
$compile = _$compile_;
$rootScope = _$rootScope_;
directive = $compile("<ui-pop-dir></ui-pop-dir>")($rootScope);
$rootScope.$digest();
}));
it('blablabla', function() {...});
});
ui-first é meu modulo e ui-first.directive minha declaração de template no arquivo karma.conf.js.
Na minha diretiva, tenho tenho um $inject para o meu controller...
Controller.$inject = ['$scope', '$commons'];
Dentro do meu $commons, tenho um outro $injector...
var promisseT = $injector.get('promisseT');
Ao executar o teste, falha com o seguinte log:
TypeError: undefined is not an object (evaluating '$commons.$promisseT') (line 34)
Controller@C:/Users/user.user/git/gitlab/src/pop.directive.js:34:33