Ich habe eine Richtlinie, die die $routeParams
der Seite als solche Zugriffe:
myApp.directive("myList", function ($routeParams) {
return {
restrict: 'E',
templateUrl: 'tabs/my-list.html',
link: function (scope) {
scope.year = $routeParams.year;
}
};
});
Die Richtlinie wie erwartet funktioniert und korrekt die $routeParams
greift ich zu testen, ich versuche, mit eckig/Jasmin. Ich kann nicht herausfinden, wie man Schein $routeParams
an die Richtlinie weitergibt. Das ist, was ich habe:
describe('myList', function() {
var scope, compile, element, compiledDirective;
var mockParams = { 'year': 1996 };
beforeEach(function() {
module('templates', 'MyApp');
inject(function ($compile, $rootScope, $routeParams) {
compile = $compile;
scope = $rootScope.$new();
});
element = angular.element('<my-list></my-list>');
compiledDirective = compile(element)(scope);
scope.$digest();
});
it('should fill in the year', function() {
expect(scope.year).toEqual(mockParams.year);
});
});
die offensichtlich nicht funktioniert, weil ich nie an die Richtlinie verabschiedet mockParams
geben. Gibt es eine Möglichkeit, dies zu tun?
Wie wäre es mit '$ routeParams.year = 1996;' vor der Erstellung des Elements? –