Con i miei due tentativi di ottenere un messaggio inviato a JSpec Google Group apparentemente non riuscito, sto postando qui invece.JSpec - RangeError: Dimensione massima dello stack di chiamate superata
Ho problemi con JSpec apparentemente andando in un ciclo ricorsivo infinito con un certo tipo di test (sotto). Qualche idea? C'è qualcosa di sbagliato nel mio codice o è JSpec? Sto eseguendo JSpec 2.11.2 tramite Ruby Gem.
Gli errori sono "RangeError: superata la dimensione massima dello stack di chiamate". (Safari) e 'InternalError: too recursion' (FF/Mac). Posso aggiungere un oggetto a una stanza usando la console di Firebug, senza errori.
Per riprodurre il problema, creare un modello jspec project utilizzando 'jspec init test'. Poi modificare i seguenti file in questo modo:
yourlib.core.js
var Game = {};
Game.item = function() {
var result = {
name : 'Undefined',
room : null
}
return result;
};
Game.room = function() {
var result = {
items : [],
addItem : function (name) {
var item = Game.item();
item.name = name;
item.room = this;
this.items.push(item);
return item;
}
};
return result;
};
spec.core.js
describe 'Room'
before_each
room = Game.room()
end
describe 'addItem()'
before_each
potion = room.addItem('Potion')
key = room.addItem('Key')
end
//this is fine
it 'should return two different items'
key.should_not.be potion
end
//InternalError: too much recursion
it 'should not give recursion error'
key.should.be potion
end
end
end
Mai sentito parlare di JSpec prima. scusa :(. Quasi tutto il tuo codice sembra abbastanza semplice da non far impazzire niente, tranne forse "item.room = this;" – Tei