Problema
Você precisa escrever uma especificação de teste de unidade (Jasmine) para testar uma diretiva AngularJS personalizada.
Solução
Escreva um fixture compreendendo a tag de diretiva, injete a lógica de diretiva personalizada e teste-a.
// Simple AngularJS directive
var directives = angular.module('myNameSpace.directives', []);
directives.directive('directive', function() {
var directive = {};
directive.restrict = 'E'; // Indicates an element directive.
directive.template = 'Hello World';
return directive;
});
// Test
describe('myNameSpace.directives', function() {
var element, scope;
beforeEach(module('myNameSpace.directives'));
beforeEach(inject(function($rootScope, $compile) {
element = angular.element(
'<directive>Old text</directive>'
);
scope = $rootScope.$new();
$compile(element)(scope);
scope.$digest();
}));
it('should display the text properly', function() {
expect(element.html()).toBe('Hello World');
});
});