Unit Test der AngularJS-Direktive mit templateUrl

Ich habe eine AngularJS-Direktive, die eine templateUrl definiert. Ich bin versucht, unit Tests mit Jasmine.

Meine Jasmine JavaScript sieht wie folgt aus, pro die Empfehlung von diese:

describe('module: my.module', function () {
    beforeEach(module('my.module'));

    describe('my-directive directive', function () {
        var scope, $compile;
        beforeEach(inject(function (_$rootScope_, _$compile_, $injector) {
            scope = _$rootScope_;
            $compile = _$compile_;
            $httpBackend = $injector.get('$httpBackend');
            $httpBackend.whenGET('path/to/template.html').passThrough();
        }));

        describe('test', function () {
            var element;
            beforeEach(function () {
                element = $compile(
                    '<my-directive></my-directive>')(scope);
                angular.element(document.body).append(element);
            });

            afterEach(function () {
                element.remove();
            });

            it('test', function () {
                expect(element.html()).toBe('asdf');
            });

        });
    });
});

Wenn ich dieses in meine Jasmine spec-Fehler bekomme ich folgende Fehlermeldung:

TypeError: Object #<Object> has no method 'passThrough'

Alles was ich will ist für die templateUrl geladen werden wie es ist - ich möchte nicht respond. Ich glaube, dass dies möglicherweise im Zusammenhang mit ngMock statt ngMockE2E. Wenn dies der Täter ist, wie verwende ich die letztere statt der ersteren?

Vielen Dank im Voraus!

InformationsquelleAutor der Frage Words Like Jared | 2013-03-05

Schreibe einen Kommentar