axios-mock-adapter 如果我模拟请求,则仅适用于我模拟的请求

Sem*_*tus 1 mocking typescript ecmascript-6 axios axios-mock-adapter

我正在尝试模拟尚未在服务器上实现的 API。但是,如果我模拟请求,则仅适用于我模拟的请求。如果我在mock.restore();之后添加,mock.onGet那么真正的 API 工作正常,但是我也不需要模拟 API。

import * as axios from 'axios';
import MockAdapter from 'axios-mock-adapter';

const mainConfig = require('../../../config/main.js');

const request = (axios as any).create({
  baseURL: mainConfig.apiBaseUrl,
  headers: {
    'Content-Type': 'application/json',
  },
});

const mock = new MockAdapter(request);

mock.onGet('basket').reply(200, {...});

export default request;
Run Code Online (Sandbox Code Playgroud)

Est*_*ask 5

正如库文档所解释的,应该明确允许未模拟的请求:

// Mock specific requests, but let unmatched ones through
mock
  .onGet('/foo').reply(200)
  .onPut('/bar', { xyz: 'abc' }).reply(204)
  .onAny().passThrough();
Run Code Online (Sandbox Code Playgroud)