axios模拟适配器:MockAdapter构造函数在测试文件中返回承诺

2admgd59  于 2023-03-02  发布在  iOS
关注(0)|答案(1)|浏览(116)

我尝试使用"axios-mock-adapter"库来模拟我的API请求。
按照文档,我需要创建一个MockAdapter的示例并在测试用例中使用它。但实际上,它返回了一个Promise并跟随下一个错误"Mock. onGet不是函数"。
代码:

import MockAdapter from "axios-mock-adapter";
import axios from "axios";

const mock = new MockAdapter(axios.create());

it("should mock", () => {
  mock.onGet("/test", { data: "test" });

  expect(true).toBeTruthy();
});

错误:

mock.onGet is not a function
TypeError: mock.onGet is not a function
    at Object.<anonymous> (/Users/api/__tests__/api.test.ts:7:8)
    at Promise.then.completed (/Users/node_modules/react-scripts/node_modules/jest-circus/build/utils.js:391:28)
    at new Promise (<anonymous>)

我试图解决MockAdapter返回的一个promise,但是它抛出了一个新的错误。
axios:^1.3.3 axios模拟适配器:第一年二十一月二日

bakd9h0s

bakd9h0s1#

经过多次尝试,我通过在jest配置中添加“transformIgnorePatterns”意外地解决了这个问题。

"transformIgnorePatterns": [
  "/node_modules/(?!axios)"
]

相关问题