【发布时间】:2020-10-09 07:25:12
【问题描述】:
我很难找到有关如何测试此功能的信息:
const MyService = {
async stringify (entry, cb) {
try {
const response = await axios.post('localhost:3005/stringify', {
entry
})
cb(null, response.data)
} catch (minificationError) {
if (minificationError.response.status === 500) {
cb('error 1', null)
} else {
cb('error 2', null)
}
}
}
}
我知道我可以像这样导入axios 并模拟.post:
axios.post.mockResolvedValue({
data: { some: 'value' }
})
如果我的 MyService 正在返回承诺,那就太好了……但是我该如何处理回调呢?这是一种不好的做法吗?服务应该返回承诺,然后处理组件函数中的错误吗?
此外,我将如何用 jest 模拟状态代码(以测试失败的状态?)
【问题讨论】:
-
这是一种不好的做法,服务应该返回承诺,然后处理组件函数中的错误吗? - 肯定。
标签: javascript reactjs unit-testing jestjs enzyme