我的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();
});
最佳答案
如果服务的属性不是私有的,则可以直接访问它们
it('testIfUserExistsIsFalse', () => {
service.doesUserExist('falsegithubusername123');
expect(service.searchedUserExists).toBeFalsy();
});
但实际上您应该按照@auburg注释的那样做,并更改函数以返回布尔值,然后您可以进行如下测试:
it('testIfUserExistsIsFalse', () => {
expect(service.doesUserExist('falsegithubusername123')).toBeFalsy();
});
关于angular - 如何测试 bool 值是否被更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53556133/