1

我试图在茉莉花中窥探 sessionStorage 对象。我编写了以下代码来实现对真实 sessionStorage 的监视

   fakeStore = {
      employee: {
        id: 123456,
        emailId: 'admin@domain.com',
        role: 'admin'
      }
    };

    fakeStorage = {
      getItem: (key: string): string => fake Store[key]
    };

spyOn(sessionStorage, 'getItem').and.callFake(fakeStorage.getItem);

但是在遇到错误后,sessionStorage is undefined
我突然意识到我是在 NodeJs 环境而不是浏览器上执行 jasmine 测试。
由于 NodeJs 全局上下文测试用例中没有名为 sessionStorage 的东西失败。

我必须在浏览器中单独运行此测试或完全忽略。
有什么方法可以将浏览器的全局window上下文模拟为 NodeJs 的global

我试图将 sessionStorage 添加到globalnodejs 中,但打字稿没有让我....

如何解决这个问题?

4

1 回答 1

3

尝试这个

spyOn(window.sessionStorage, 'getItem').and.callFake(()=>{})
于 2018-01-06T22:20:20.487 回答