Javascript 模拟axios接收空对象
我希望模拟axios调用,但每次我都会得到模拟返回值Javascript 模拟axios接收空对象,javascript,reactjs,axios,jestjs,mocking,Javascript,Reactjs,Axios,Jestjs,Mocking,我希望模拟axios调用,但每次我都会得到模拟返回值{}。我试着只隔离axios.get,但它似乎没有正确模拟输出 Expected: ObjectContaining {"data": "mocked expected"} Received: {} Axios.test.js const axios = require('axios'); jest.mock('axios') it("fetches data",
{}
。我试着只隔离axios.get
,但它似乎没有正确模拟输出
Expected: ObjectContaining {"data": "mocked expected"}
Received: {}
Axios.test.js
const axios = require('axios');
jest.mock('axios')
it("fetches data", async () => {
axios.get = jest.fn().mockResolvedValue({
data: "mocked received"
});
const url = '';
const expected = {data: "mocked expected"};
const out = axios.get(url)
expect(out).toEqual(expect.objectContaining(expected));
});
这是显示问题的终端
请改用此软件包。多年来一直在使用它,而且它对DX非常友好。不幸的是,我得到了相同的结果,我制作了一个新的react应用程序,安装了axios,axios mock adapter使用axios mock adapter,但仍然出现了相同的错误。请看下面的示例,其中包含一个非常简单的异步请求,用于检索todo。需要注意的是,承诺是异步的,需要时间来解决;因此,在不让承诺解决的情况下做出预期将失败。因此,我们将等待期望值为真。您不必这样做,但我发现它是针对异步代码进行断言的最为DX友好的方式(并且可以很好地与React挂钩配合使用)。