Stubbing window.location.href com Sinon

Estou tentando testar algum código do lado do cliente e, para isso, preciso stub o valor dewindow.location.href propriedade usando Mocha / Sinon.

O que eu tentei até agora (usando este exemplo):

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

O corredor exibe o seguinte erro:

TypeError: O stub personalizado deve ser uma função ou um descritor de propriedade

Alterando o código de teste para:

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

O que gera esse erro:

TypeError: Tentativa de quebrar a propriedade da string href como função

Passando uma função como terceiro argumento parasinon.stub também não funciona.

Existe uma maneira de fornecer um falsowindow.location.href string, também evitando o redirecionamento (já que estou testando no navegador)?

questionAnswers(3)

yourAnswerToTheQuestion