在vue jest测试中模拟axios的自定义实例

时间:2020-03-18 18:58:17

标签: vue.js jestjs axios

问题

我在src/axios有一个自定义axios实例:

import axios from 'axios';

 const instance = axios.create({
   baseURL: 'myApi/',
 });

export default instance;

MyComponent中,我用axios导入import axios from '../axios'并进行api调用。

在测试MyComponent中的api调用时,我必须模拟axios以便这样做:

import axios from 'axios'; jest.mock('axios');

但是当我运行测试axios时是undefined内的MyComponent,测试失败。

我尝试过的

  1. 将自定义axios实例导入测试会产生相同的错误,axios未定义。
  2. MyComponent中,我从axios导入了node_modules,例如import axios from 'axios',则测试可以进行,但是我无法使用自定义的axios实例。

Vue 2.6,Jest @ vue / cli-plugin-unit-jest 4.2.3

如何在MyComponent中使用自定义实例并在测试中对其进行模拟?

0 个答案:

没有答案