Stubbing window.location.href mit Sinon

Ich versuche, clientseitigen Code zu testen. Dazu muss ich den Wert von @ stubgewindow.location.href Eigenschaft mit Mocha / Sinon.

Was ich bisher ausprobiert habe mit diesem Beispiel):

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

Der Läufer zeigt den folgenden Fehler an:

TypeError: Benutzerdefinierter Stub sollte eine Funktion oder ein Eigenschaftsdeskriptor sein

Ändern des Testcodes auf:

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

Welche dieser Fehler ergibt:

TypeError: Es wurde versucht, die Zeichenfolgeneigenschaft href als Funktion @ umzubreche

Funktion als drittes Argument an @ übergebsinon.stub funktioniert auch nicht.

ibt es eine Möglichkeit, eine Fälschung bereitzustellewindow.location.href string, auch Umleitung vermeiden (da ich im Browser teste)?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage