6
votes

Test de l'unité Directives Angularjs

Comment puis-je tester ma directive?

Ce que j'ai est p> xxx pré>

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);
    });
});


1 commentaires

Remarque: vous avez encore défini la portée de la variété à l'intérieur. Aussi: _ $ rootscope vs _ $ rootscope _


3 Réponses :


3
votes

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', ...]);


0 commentaires

0
votes

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": xxx

puis le module d'application de base ajoutez le module de directive comme une dépency < Pré> xxx

Alors, leur exemple de test dépend simplement du module de directive xxx

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.


0 commentaires

2
votes

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 xxx

dans votre Directives.js xxx

enfin votre directiveSpec.js xxx


0 commentaires