admin管理员组文章数量:1418627
I was trying to spyOn sessionStorage object in jasmine. I've written the following code to achieve spying on real sessionStorage
fakeStore = {
employee: {
id: 123456,
emailId: '[email protected]',
role: 'admin'
}
};
fakeStorage = {
getItem: (key: string): string => fake Store[key]
};
spyOn(sessionStorage, 'getItem').and.callFake(fakeStorage.getItem);
But after encountering the error sessionStorage is undefined
I suddenly realised that I'm executing the jasmine tests on NodeJs environment rather than browser.
Since there is not such thing called sessionStorage in NodeJs global context test case failed.
I have to either run this test alone in browser or pletely ignore.
Is there any way I can simulate browser's global window
context as NodeJs's global
I've tried to add sessionStorage into global
of nodejs,but typescript didn't let me....
How to solve this ?
I was trying to spyOn sessionStorage object in jasmine. I've written the following code to achieve spying on real sessionStorage
fakeStore = {
employee: {
id: 123456,
emailId: '[email protected]',
role: 'admin'
}
};
fakeStorage = {
getItem: (key: string): string => fake Store[key]
};
spyOn(sessionStorage, 'getItem').and.callFake(fakeStorage.getItem);
But after encountering the error sessionStorage is undefined
I suddenly realised that I'm executing the jasmine tests on NodeJs environment rather than browser.
Since there is not such thing called sessionStorage in NodeJs global context test case failed.
I have to either run this test alone in browser or pletely ignore.
Is there any way I can simulate browser's global window
context as NodeJs's global
I've tried to add sessionStorage into global
of nodejs,but typescript didn't let me....
How to solve this ?
Share Improve this question edited Jan 7, 2018 at 11:27 Sai Surya Kattamuri asked Nov 17, 2017 at 13:07 Sai Surya KattamuriSai Surya Kattamuri 1,08613 silver badges23 bronze badges 1- the question is not about how to mock localStorage,instead it is how to run browser related unit tests(which has dependency related to browser's objects such as window,location etc) on node.js – Sai Surya Kattamuri Commented Jan 7, 2018 at 11:26
1 Answer
Reset to default 3try this
spyOn(window.sessionStorage, 'getItem').and.callFake(()=>{})
版权声明:本文标题:javascript - MockSpy sessionStorage in jasmine when executing tests in Nodejs and not Browser - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745295729a2652065.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论