JSpec - RangeError: Maximale Größe des Aufruf-Stacks überschritten

8

Mit meinen zwei Versuchen, eine Nachricht an die JSpec Google Group geschickt zu bekommen, die anscheinend fehlgeschlagen ist, poste ich hier stattdessen.

Ich habe Probleme mit JSpec , die anscheinend mit einer bestimmten Art von Test (unten) in eine unendliche rekursive Schleife gehen. Irgendwelche Ideen? Ist da irgendwas mit meinem Code falsch oder ist es JSpec? Ich führe JSpec 2.11.2 über Ruby Gem.

Die Fehler sind 'RangeError: Maximale Call-Stack-Größe überschritten.' (Safari) und 'InternalError: zu viel Rekursion' (FF / Mac). Ich kann ein Element mithilfe der Firebug-Konsole ohne Fehler zu einem Raum hinzufügen.

Um das Problem zu reproduzieren, erstellen Sie ein Template jspec-Projekt mit 'jspec init test'. Bearbeiten Sie dann die folgenden Dateien wie folgt:

yourlib.core.js

%Vor%

spec.core.js

%Vor%     
Rich Apodaca 29.11.2009, 01:15
quelle

1 Antwort

1

Haftungsausschluss: Ich habe auch noch nie von JSpec gehört (obwohl Jasmine eine gute Alternative ist, wenn Sie danach suchen eins.

Das Einzige, woran ich denken kann, ist, wie die "be" -Funktion funktioniert. Wenn es in der Objektgrafik nach unten sucht, um festzustellen, ob zwei Objekte gleich sind, kann es in den zyklischen Abhängigkeits-Hiccup geraten: dh Sie beziehen sich auf Ihr Zimmer in jedem Objekt, das wiederum Ihre Objekte hat, die wiederum Ihre Räume und und so weiter und so fort. Dies ist eine Endlosschleife, aus der die be-Funktion nicht effektiv zurückkehren kann, um den Stack zu überfluten und somit den Fehler zu verursachen, den Sie sehen.

Etwas ähnliches (ohne den Vergleich, auch: habe diesen Code nicht getestet oder ausgeführt, nimm ihn als Pseudocode zur Erklärung des obigen Absatzes):

%Vor%     
Mutahhir 20.05.2012 19:28
quelle

Tags und Links