模拟文件
// __mocks__/axios.js
const axios = jest.fn();
axios.get = jest.fn();
axios.get.mockResolvedValue({data: {undoList: ['get data'],},
});
export default axios;
测试文件
jest.mock('axios');
import Axios from 'axios';test('mytest', () => {console.log("test before", Axios.get()); // 显示undefined
})
原因
jest.config.js中resetMocks为true时,会在每个测试用例开始前清空所有模拟函数的实现。
// jest.config.jsmodule.exports = {// ..."resetMocks": true,
};
将resetMocks改为false就可以了,或者以内联的方式在测试用例里面设置模拟函数的实现也可以。