【发布时间】:2018-06-13 05:43:54
【问题描述】:
在测试方面我是初学者,希望您能向我解释什么是好的做法。
我有一个简单的服务:
export class SessionService {
fetchFromStorage() {
let x = localStorage.getItem('email');
return JSON.parse(x);
}
saveInStorage(email) {
localStorage.setItem('email', JSON.stringify(email));
}
}
以及使用该服务的组件:
export class LoginComponent implements OnInit, OnChanges {
email;
constructor(private service: SessionService) {
}
ngOnInit() {
this.email = this.service.fetchFromStorage();
}
save() {
this.service.saveInStorage(this.email);
}
}
我知道我应该创建 localStorageMock 吗?例如,在调用 saveInStorage() 之后,我必须检查 localStorageMock 是否包含我传递给该函数的参数? 我不确定如何测试 fetchFromStorage,我应该像这样在 localStorageMock 中创建吗:
export class {
getItem(x){
if(x = 'email') return 'sth';
}
}
第三个问题是关于我的组件中的 ngOnInit 是什么?写个测试是不是很简单?
【问题讨论】:
标签: javascript angular unit-testing testing karma-runner