Comment puis-je tester ma directive?
Ce que j'ai est p> dans mon test de mon appareil, je veux commencer par un test très simple p> describe('Range control', function () {
var elm, scope;
beforeEach(inject(function(_$compile_, _$rootScope) {
elm = angular.element('<range min="1" max="20" bind-low="low" bind-high="high"></range>');
var scope = _$rootScope_;
scope.low = 1;
scope.high = 20;
_$compile_(elm)(scope);
scope.$digest();
}));
it('should render two select elements', function() {
var selects = elm.find('select');
expect(selects.length).toBe(2);
});
});
3 Réponses :
Edit: Je vois que la question a changé depuis ma dernière réponse.
Vous devez mettre votre directive dans un module indépendant. p>
Par exemple: P>
angular.module('MyModule', ['MyModule.directives', ...]);
Le projet de semences angulaires https://github.com/angular/angular-sed Semble avoir l'opinion que les directives devraient aller dans leur propre module, qui est alors une dépendance du module d'application de base.
afin que les directives vont dans un module appelé "myApp.Directives": p> puis le module d'application de base ajoutez le module de directive comme une dépency p> < Pré> xxx pré> Alors, leur exemple de test dépend simplement du module de directive p> Je n'ai pas encore essayé avec votre code ou mon code mais On dirait que vous cherchez principalement une guidance de pratique la plus courante. P> P>
Vous devez déclarer toutes vos directives dans le module "YOUAPAP.Directives" et inclure ce module dans vos tests de directive.
dans votre application.js p> dans votre Directives.js p> enfin votre directiveSpec.js p>
Remarque: vous avez encore défini la portée de la variété à l'intérieur. Aussi: _ $ rootscope vs _ $ rootscope _