Jasmine n'est pas réinitialisée espion après chaque test spec

J'ai la spécification suivante.

describe("SN.ExitHistory", function() {

    var exitHistory;

    beforeEach(function() {

    SN.Utils = jasmine.createSpy("utils").andCallFake(function() {
        function readSNCookie(cookieName, key) {
            return "google.com";
        }

        function isUndefinedOrNull(param) {
            return (param == null) || (param === "null");
        }

        function createSNCookie(snCookieName, key, value, lifeTime) {

        }

        var me = {
            readSNCookie : readSNCookie,
            isUndefinedOrNull : isUndefinedOrNull,
            createSNCookie : createSNCookie
        };
        return me;

    })();

    exitHistory = SN.ExitHistory();

    });

    it("return last exit link", function() {
        expect(exitHistory.getLastExitLink()).toEqual("google.com");
    });

 });

exitHistory.getLastExitLink utiliser à l'interne SN.Utils.

Après le test est fait de Jasmin ne pas supprimer l'espion objet utils. Dans la prochaine suite de test aussi, je peux voir la même utils présent. Est-il possible de réinitialiser l'espion objet après chaque test est fait?

Au lieu de créer un espion, si je crée un nouvel objet pour utils, le comportement est le même. Alors quelle est la différence entre un espion et l'objet réel dans ce scénario.

Corrigez-moi si je me trompe.

OriginalL'auteur Sourabh | 2012-08-10