gpt4 book ai didi

javascript - 无法读取未定义的属性 'mockResolvedValue'

转载 作者:行者123 更新时间:2023-12-03 06:56:20 25 4
gpt4 key购买 nike

我在模拟我的 api 调用时遇到错误

TypeError: Cannot read property 'mockResolvedValue" of undefined
并且无法弄清楚为什么。我正在利用 jest 来测试我的 api fetch 调用函数。
这是我要导出的函数:
//file amData.jsx

const axios = require('axios');

async function fetchAssetManagerSummary() {
const response = await axios.get("https://www.exampleUrl.com");
return response.data;
}

module.exports = fetchAssetManagerSummary;
这是我的测试文件
const fetchAssetManagerSummary = require('./amData');
const axios = require('axios');
jest.mock("axios");

it("returns the object from fetch", async () => {
axios.get.mockResolvedValue({
data: [
{
userId: 1,
id: 1,
title: 'test'
}
]
})
const data = await fetchAssetManagerSummary();
console.log("data", data)
});
我得到的错误:
enter image description here

最佳答案

既然你已经 mock 了 axios类,模拟 axios.get 的返回值的方法之一是这样做:

axios.get = jest.fn().mockResolvedValue({
data: [
{
userId: 1,
id: 1,
title: 'test'
}
]
});
.
.
expect(axios.get).toHaveBeenCalledTimes(1);

或者,您可以监视 axios.get(),并提供一个模拟的返回值:
jest.spyOn(axios, 'get').mockResolvedValueOnce({
data: [
{
userId: 1,
id: 1,
title: 'test'
}
]
});

关于javascript - 无法读取未定义的属性 'mockResolvedValue',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61627298/

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