Я хотел бы смоделировать методы localStorage в шутку для симуляции ошибок.У меня есть локальные методы getter и setter, определенные в utility.js.Я хотел бы, чтобы localStorage.setItem
выдавал ошибку при вызове utility.setItem
.
//file: utility.js
export default {
getItem(key) {
return localStorage.getItem(key);
},
setItem(key, value) {
localStorage.setItem(key, value);
}
};
В шутку,
test('throw error', () => {
localStorage.setItem = jest.fn(() => {
console.log(" called ");
throw new Error('ERROR');
});
utility.setItem('123', 'value');
});
Однако localStorage.setItem
mock никогда не вызывается.Я также пытался сделать
window.localStorage.setItem = jest.genMockFunction(()=>{console.log(" Mock Called")});
global.localStorage.setItem = jest.fn(()=>{console.log(" Mock Called")});