Axios 模拟:收到的呼叫数:0
Axios mock: Received number of calls: 0
我正在尝试为我的 get All 做一个简单的模拟 method.I我收到这个错误:
预计调用次数:1
接听电话数:0
以下是我的模拟配置。
jest.mock("axios", () => {
return {
create: jest.fn(() => ({
get: jest.fn(() => Promise.resolve({ data: [{ name: "test_role" }] })),
post: jest.fn(() => Promise.resolve({ data: { name: "test_role" } })),
put: jest.fn(() => Promise.resolve({ data: { name: "updated_role" } })),
delete: jest.fn(() => Promise.resolve({ data: "" })),
interceptors: {
request: { use: jest.fn(), eject: jest.fn() },
response: { use: jest.fn(), eject: jest.fn() },
},
})),
};
});
这是我的测试:
it("get all roles", async () => {
//Arrange
const allRoles = [{ name: "test_role" }];
//Act
const result = await role.getAll();
//Assert
expect(JSON.stringify(result.data)).toBe(JSON.stringify(allRoles));
expect(jest.fn()).toHaveBeenCalledTimes(1);
});
jest.fn()
创建一个新的 mock 函数,并且没有引用它用于创建的其他函数。因此,您需要明确定义您希望调用的模拟函数。例如。如果你想调用 post
- 你需要按如下方式定义它:
expect(axios.create.post).toHaveBeenCalledTimes(1);
您可以重用此语法以期待其他方法调用。
我正在尝试为我的 get All 做一个简单的模拟 method.I我收到这个错误:
预计调用次数:1 接听电话数:0
以下是我的模拟配置。
jest.mock("axios", () => {
return {
create: jest.fn(() => ({
get: jest.fn(() => Promise.resolve({ data: [{ name: "test_role" }] })),
post: jest.fn(() => Promise.resolve({ data: { name: "test_role" } })),
put: jest.fn(() => Promise.resolve({ data: { name: "updated_role" } })),
delete: jest.fn(() => Promise.resolve({ data: "" })),
interceptors: {
request: { use: jest.fn(), eject: jest.fn() },
response: { use: jest.fn(), eject: jest.fn() },
},
})),
};
});
这是我的测试:
it("get all roles", async () => {
//Arrange
const allRoles = [{ name: "test_role" }];
//Act
const result = await role.getAll();
//Assert
expect(JSON.stringify(result.data)).toBe(JSON.stringify(allRoles));
expect(jest.fn()).toHaveBeenCalledTimes(1);
});
jest.fn()
创建一个新的 mock 函数,并且没有引用它用于创建的其他函数。因此,您需要明确定义您希望调用的模拟函数。例如。如果你想调用 post
- 你需要按如下方式定义它:
expect(axios.create.post).toHaveBeenCalledTimes(1);
您可以重用此语法以期待其他方法调用。