【发布时间】:2019-08-04 23:28:22
【问题描述】:
我想知道如何用 jest 测试一个返回 promise 并解析另一个方法的方法。
例如:-
getUser() {
const getListFromDatabase= this.getListFromDatabase.bind(this);
const getListFromUser= this.getListFromUser.bind(this);
return new Promise((resolve) => {
const myList = Cookies.get('myList');
if (myList) {
resolve(myList);
} else if (CONFIGURATION.ENABLED) {
resolve(getListFromDatabase());
} else {
resolve(getListFromUser());
}
});
},
getListFromDatabase 和 getListFromUser 是我的主要对象中的其他方法。
getUser() 是我的主要对象中的一个方法。
所以现在我想用 jest 编写一个单元测试,测试如果找到 cookie,我们解析了一个数组 (myList),如果启用了全局配置变量,我们解析了 getListFromDatabase(),否则 getListFromUser()。
我返回一个可以解决的新承诺这一事实让我很困惑该走哪条路,expect().resolves 或 getUser().then(data => expect(data)..)
【问题讨论】:
-
你可以让测试异步并等待它测试最终结果。
标签: javascript reactjs jestjs es6-promise