测试Promise
注意需要return让Jest意识到是异步case, 通过then和catch,在回调中拿到对应的result再去进行测试
describe('Test runTask', () => {
test('Invalid domains length', () => {
return runAsyncTask([])
.then(res => {
expect(res).toEqual({
value:1
})
}).catch(e => {
expect(e).toBe(errMsg)
})
});
});
测试Async Await
async await本质上就是promise链式调用的语法糖.
// 写法一
test('测试request', async () => {
const res = await runAsyncTask()
expect(res).toEqual({
value:1
})
})
// 写法二
test('测试request', async () => {
await expect(runAsyncTask()).resolves.toMatchObject({
value:1
})