Node Jest在函数中模拟函数

时间:2020-02-01 21:18:35

标签: javascript node.js testing mocking jestjs

我正在测试类似这样的方法:

test('Test', async () => {
    const result = await methodBeingTested(someData);
    })
})

然后我正在测试的方法如下所示:

import { insertData } from '../util/api';
export async function methodBeingTested(someData: any) {
    const data = await insertData(dateIdsomeData)

    //Do Some other stuff
    return data
}

我想模拟数据insertData返回的方法,以便它不执行axios请求或不插入mongo / sql。

我如何用Jest做到这一点?我主要是想测试methodBeingTested中发生的其他内容的功能。

谢谢

1 个答案:

答案 0 :(得分:1)

执行此操作:

jest.mock('../util/api', () => ({
   insertData: () => Promise.resolve(mockResult) // put here some result 
}));

// your tests

只需确保您的路径正确。