Angular / Karma / Jasmine: TypeError: 'undefined' ist kein Objekt (evaluiert 'scope.awesomeThings')

8

Versuche, Unit-Tests für Ссылка einzurichten.

app / modules / about / controllers / about.controller.js (Ich habe $scope.awesomeThings hinzugefügt, um den Scope mit etwas zu testen, das getestet werden muss):

%Vor%

Der Jasmintest beim Kunden / test / modules / about / controllers / about.ctrl.js

%Vor%

Wenn ich diesen einfachen Test ausführe, bekomme ich:

%Vor%

Wenn ich logLevel: LOG_DEBUG einstelle, zeigen die about * Dateien:

- & gt; % grep über /tmp/karma-debug.log

%Vor%

Ich weiß, dass ich etwas Grundlegendes verpasse, aber ich kann anscheinend nicht finden, was.

    
Mike Crowe 30.04.2015, 00:09
quelle

2 Antworten

7

Ich habe den anfänglichen Fehler nicht sorgfältig genug untersucht. Der tatsächliche Fehler war in $rootScope.addDashboardBox , was darauf hinweist, dass zusätzliche Module hinzugefügt werden müssen.

Lösung ist für das Testskript:

%Vor%     
Mike Crowe 30.04.2015 12:45
quelle
7

Für die Zukunft, da es das erste Ergebnis bei Google ist.

Suchen Sie nach externen Abhängigkeiten!

Karmas Protokoll ist ein bisschen irreführend, das eigentliche Problem ist, dass das Hauptmodul nicht läuft. Zum Beispiel, angular-stripe , das in karma.conf.js von Bower injiziert wird, erfordert aktuelle Stripe-JS-Bibliothek geladen andernfalls stürzt die gesamte Anwendung (was sehr ärgerlich ist). Ich habe diese Zeile zu karma.conf.js hinzugefügt:

%Vor%

und jetzt funktioniert es.

    
leitasat 18.02.2016 15:08
quelle

Tags und Links