Заглушка window.location.href с Sinon
Я пытаюсь протестировать некоторый код на стороне клиента и для этого мне нужно заглушить значениеwindow.location.href
собственность с помощью мокко / синон.
Что я уже пробовал (используя этот пример):
describe('Logger', () => {
it('should compose a Log', () => {
var stub = sinon.stub(window.location, 'href', 'http://www.foo.com');
});
});
Бегун отображает следующую ошибку:
TypeError: пользовательская заглушка должна быть функцией или дескриптором свойства
Изменение кода теста на:
describe('Logger', () => {
it('should compose a Log', () => {
var stub = sinon.stub(window.location, 'href', {
value: 'foo'
});
});
});
Что приводит к этой ошибке:
TypeError: Попытка обернуть свойство строки href как функцию
Передача функции в качестве третьего аргументаsinon.stub
тоже не работает
Есть ли способ предоставить подделкуwindow.location.href
строка, также избегая перенаправления (так как я тестирую в браузере)?