【发布时间】:2021-10-03 20:09:47
【问题描述】:
我开始在单元测试中学习角度。我有需要为 localStorage 创建单元测试的情况。这是 component.ts 中的代码:
getRandomColor() {
if (localStorage.getItem('randomColor') === null) {
const colorCode = '7608952EAFCDBE';
this.backgroundColor = '#';
for (let i = 0; i < 6; i++) {
this.backgroundColor += colorCode[Math.floor(Math.random() * 12)];
}
localStorage.setItem('randomColor', this.backgroundColor)
return this.backgroundColor;
} else {
this.backgroundColor = localStorage.getItem('randomColor');
}
}
在spec.ts,我是这样写的
it('getRandomColor if localStorage randomColor is null', () => {
const spyLocalStorage = spyOn(localStorage, 'getItem').andCallFake(function (key) {
spyLocalStorage = null
expect(component.backgroundColor).toEqual('#')
});
但它显示错误。这种情况下最好的方法是什么?你的帮助真的很为我着想。谢谢 })
【问题讨论】:
标签: javascript angular unit-testing jestjs jasmine