【发布时间】:2022-02-11 16:20:32
【问题描述】:
我正在做测试,我在那个测试中做了一个测试,我为一个假函数创建了一个模拟
jest.mock('@/services/myService', ()=>({getAvailables: jest.fn().mockReturnValue()}))
该功能正在我的组件中运行
onMounted(async () => {
const answer = await getAvailables1()
const answer = await getAvailables2()
const answer = await getAvailables3()
但我仍然收到此错误
(node:81921) UnhandledPromiseRejectionWarning: TypeError: (0 , _ContractService.getAvailables1) 不是函数 (节点:81921)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志
如果我先这样放 getAvailables2
onMounted(async () => {
const answer = await getAvailables2()
const answer = await getAvailables1()
我收到此错误 (node:81921) UnhandledPromiseRejectionWarning: TypeError: (0 , _ContractService.getAvailables2) 不是函数
如果我这样放第一个 getAvailables3
onMounted(async () => {
const answer = await getAvailables3()
const answer = await getAvailables2()
我收到此错误 (node:81921) UnhandledPromiseRejectionWarning: TypeError: (0 , _ContractService.getAvailables3) 不是函数
我也尝试使用mockResolvedValue,但不起作用
export const getAvailables = async () => {
let response
let error
try {
response = await getData()
} catch (err) {
error = err
throw err
}
return { response, error }
}
【问题讨论】:
-
为了能够提供帮助,我必须查看您要模拟的内容以及您的模拟当前的样子。完整的错误消息也会有所帮助。您的模拟当前调用
getData()。getData是什么?它是在回报一个承诺吗? -
@Tao 但我正在尝试模拟该功能
-
@tao 我更新了我的问题,请再次查看