Stubbing fenêtre.emplacement.href Sinon avec

Je suis en train de tester certains de code côté client et pour cela j'ai besoin d'écraser la valeur de window.location.href de la propriété à l'aide de Moka/Sinon.

Ce que j'ai essayé jusqu'à présent (à l'aide de cet exemple):

describe('Logger', () => {
    it('should compose a Log', () => {
        var stub = sinon.stub(window.location, 'href', 'http://www.foo.com');
    });
});

Le coureur affiche l'erreur suivante:

TypeError: Personnalisé tampon doit être une fonction ou un descripteur de propriété

Modifiant le code de test pour:

describe('Logger', () => {
    it('should compose a Log', () => {
        var stub = sinon.stub(window.location, 'href', {
            value: 'foo'
        });
    });
});

Qui donne cette erreur:

TypeError: Tentative d'enveloppement propriété de chaîne href fonction

Passage d'une fonction en tant que troisième argument de sinon.stub ne fonctionne pas non plus.

Est-il un moyen de fournir un faux window.location.href chaîne, mais aussi pour éviter la redirection (depuis que je suis en essais dans le navigateur)?

OriginalL'auteur Francesco Pezzella | 2016-04-17