我正在为函数编写测试用例,该函数返回Promise with resolve并拒绝如下:
isAuthSuccess(): Promise<any> {
const promise = new Promise((resolve, reject) => {
if (this.userInfo) {
resolve();
} else {
const validUserUrl: string = this.cookieService.get('PPRC_VALID_USER');
if (validUserUrl) {
this.authenticateUser(validUserUrl)
.toPromise()
.then(
userInfo => {
if (userInfo) {
this.userInfo = userInfo;
this.loadResources(userInfo, resolve);
} else {
reject('500_1');
}
},
error => {
reject('500_1');
}
);
} else {
reject('500_1');
}
}
});
return promise;
}
我是处理承诺的函数的测试用例的新手。检查了几个选项,但没有取得任何成功。请帮我解决上述情况,以处理正面和负面情景的测试用例。
你试过传递异步函数吗?下面简单的异步/等待组合就足够了。
it("your test case name", async function() {
await obj.isAuthSuccess();
// expect(...).toBe(...);
});