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 @   IslandZzzz  阅读(258)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2020-06-05 初探Promise 中断与异常传送
2020-06-05 Javascript Map 对象/数组与map的相互转换
2020-06-05 初探immutable Redux+immutable实现todolist
点击右上角即可分享
微信分享提示