にiは以下のように冗談で反応成分のlocalStorageを模擬しようとすると、冗談
spyOn(window.localStorage,'removeItem');
window.localStorage.removeItem("key1");
window.localStorage.removeItem("key2");
expect(window.localStorage.removeItem).toHaveBeenCalledWith("key1");
expect(window.localStorage.removeItem).toHaveBeenCalledWith("key2");
をlocalStorage.setIemとlocalStorage.removeItemを模擬し、モックのlocalStorageのために以下のコードを使用する方法
let localStorageMock = (function() {
var storage = {};
return {
setItem: function(key, value) {
storage[key] = value || '';
},
getItem: function(key) {
return storage[key] || null;
},
removeItem: function(key) {
delete storage[key];
},
get length() {
return Object.keys(storage).length;
},
key: function(i) {
var keys = Object.keys(storage);
return keys[i] || null;
}
};
})();
Object.defineProperty(window, 'localStorage', { value: localStorageMock });
をあなたが取得しているエラーは何ですか? – jhhoff02
エラーメッセージは表示されませんでしたが、この行は単体テストの対象外です。 – Nithila