javascript 模拟本地存储会话存储业力,Jasmine

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 模拟本地存储会话存储业力,Jasmine相关的知识,希望对你有一定的参考价值。

My working example uses a testbed


in beforeEach:

    let store = {};
      const mockSessionStorage = {
        getItem: (key: string): string => {
          return key in store ? store[key] : null;
        },
        setItem: (key: string, value: string) => {
          store[key] = `${value}`;
        },
        removeItem: (key: string) => {
          delete store[key];
        },
        clear: () => {
          store = {};
        }
      };
      spyOn(sessionStorage, 'getItem')
        .and.callFake(mockSessionStorage.getItem);
      spyOn(sessionStorage, 'setItem')
        .and.callFake(mockSessionStorage.setItem);
      spyOn(sessionStorage, 'removeItem')
        .and.callFake(mockSessionStorage.removeItem);
      spyOn(sessionStorage, 'clear')
        .and.callFake(mockSessionStorage.clear);
  });
  
  
  in test
  
    //   sessionStorage.setItem('cached-current-request-id', JSON.stringify({ currentRequestId: '12345'}));

以上是关于javascript 模拟本地存储会话存储业力,Jasmine的主要内容,如果未能解决你的问题,请参考以下文章

javascript 本地存储会话存储JSON.parse

javascript 本地/会话存储 - 获取/设置对象包装器

javascript 本地和会话存储

如何使用 javascript 而不是 Django 会话将表单数据(Django 表单)存储到浏览器的本地存储?

我啥时候应该使用 PHP 会话、浏览器本地存储和 JavaScript 对象参数?

在PHP和JavaScript中设置Cookie会话存储(SessionStorage)和本地存储(LocalStorage)