So testen Sie eine Dropdown-Liste in Jasmine / Angularjs

8

Ich versuche eine Direktive zu testen, die eine Dropdown-Liste mit JSON erstellt, um die Details der Liste anzugeben. Die Direktive funktioniert gut, aber ich habe Probleme beim Testen der Einheit.

Hier ist der Test:

%Vor%

Hier ist die Richtlinie:

%Vor%

Hier ist das Markup:

%Vor%

Die letzte Blockierung ist hier von Bedeutung. Wenn ich das Änderungsereignis feuere, wird der Wert des Modells immer um eins höher als erwartet. Zum Beispiel wird der in scope.dropDownResponses gespeicherte Wert in diesem Fall 2.

Irgendwelche Ideen?

    
Dane 03.03.2014, 20:50
quelle

1 Antwort

5

Es kommt zu diesem ersten Geburtstag der Fragen und ich fand es faszinierend, warum der Test nicht vorbei ist.

Ich bin zu dem Schluss gekommen, dass die Prämisse des Tests falsch ist wie der Test

%Vor%

sollte

sein %Vor%

Der Grund dafür ist, dass der in scope.dropDownResponses gespeicherte Wert tatsächlich 2 ist, da der Frager gefunden wurde.

Wenn Sie mit val ('1') auswählen, wählen Sie die zweite Option im Auswahlelement

%Vor%

reflektiert das zweite Element im Array in der Spezifikation

%Vor%

Sie können dies in Aktion in diesem jsfiddle sehen, wo die Ausgabe von console.log

ist %Vor%

ist

%Vor%     
Nicholas Murray 26.02.2015 23:20
quelle