Я пытаюсь протестировать некоторый код на стороне клиента, и для этого мне нужно заглушить значение свойства window.location.href
с помощью Mocha/Sinon.
То, что я пробовал до сих пор (используя этот пример):
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: Попытка обернуть свойство string href как функцию
Передача функции в качестве третьего аргумента в sinon.stub
тоже не работает.
Есть ли способ предоставить фальшивую строку window.location.href
, также избегая перенаправления (поскольку я тестирую в браузере)?