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