我的ts文件中有一个函数可以更改布尔值,但不返回值。我无法弄清楚如何在spec.ts文件中测试此功能。
这是ts文件中的函数:
doesUserExist(username: string) {
this.data.getUser(username).subscribe(data => {
this.searchedUserExists = true;
}, err => {
this.searchedUserExists = false;
});
}
这是我在spec.ts文件中尝试过的:
it('testIfUserExistsIsFalse', () => {
let searchedUserExists: boolean;
service.doesUserExist('falsegithubusername123');
expect(searchedUserExists).toBeFalsy();
});
答案 0 :(得分:0)
如果服务的属性不是私有的,则可以直接访问
it('testIfUserExistsIsFalse', () => {
service.doesUserExist('falsegithubusername123');
expect(service.searchedUserExists).toBeFalsy();
});
但是实际上,您应该按照@auburg的注释进行操作,并更改该函数以返回布尔值,然后可以进行如下测试:
it('testIfUserExistsIsFalse', () => {
expect(service.doesUserExist('falsegithubusername123')).toBeFalsy();
});
答案 1 :(得分:0)
如果this.searchedUserExists
是公共变量,则直接检查。
expect(service.searchedUserExists).toBeFalsy();