Jest 异步测试 Promise Async Await

测试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
    })
posted @ 2022-06-05 22:05  IslandZzzz  阅读(248)  评论(0编辑  收藏  举报