我有一个函数,它里面有另一个函数,在第二个函数中,我们调用了一个API,那么我该怎么写一个单元测试呢,我不想做一个真正的API调用,我想模拟它。
const getData = async (data) => {
const res = await got.post(url,{
json: {data}
});
const data = res.data;
return data;
}
function firstFunction(args) {
// perform some operation with args and it's stored in variable output.
let output = args;
let oo = getData(args);
console.log(oo)
}
2条答案
按热度按时间kmbjn2e31#
当运行单元测试时,你不必须调用真实的的API调用。你必须封装你的组件并提供任何外部信息。
使用jest你可以mockhttp调用并返回你想要的结果。你还可以检查mock是否被调用过。
8i9zcol22#
您可以使用setTimeout来模拟它,我还提供了一个模拟响应,因此在1000ms后,它将发送一个带有此用户数组的Promise