gpt4 book ai didi

node.js - Promise 的 Mocha 单元测试抛出错误

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:58 25 4
gpt4 key购买 nike

我正在尝试对 promise 进行单元测试。这是代码:

it('it should return some 10 user data with ok status code when called with url ', (done) => {
return user.getUsers('https://jsonplaceholder.typicode.com/users')
.then((response) => {
console.log('me here')
assert.equal(JSON.parse(response).length, 10)
})
.catch((err)=>{
console.log('me in error')
assert.fail('err')
})
})

上面的代码运行时抛出以下错误:
错误:超时超过 2000 毫秒。对于异步测试和 Hook ,确保调用“done()”;如果返回 Promise,请确保它得到解析。 (C:\Users\ajay\jay-workspace\UniTestModule\test\user.test.js)

最佳答案

done 未调用,这会导致测试超时。

Mocha 本身就支持 Promise。当有 promise 时不应该使用 done ;相反,应该返回 promise :

it('it should return some 10 user data with ok status code when called with url ', () => {
return user.getUsers('https://jsonplaceholder.typicode.com/users')
.then((response) => {
console.log('me here')
assert.equal(JSON.parse(response).length, 10)
});
})

被拒绝的 promise 将导致测试失败,也不需要 assert.fail

关于node.js - Promise 的 Mocha 单元测试抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51242975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com