我有一个配置 axios 的模块:
// config/axiosConfig.js
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://localhost:8080/api/v1'
});
export default instance;
以及一个使用它来进行 api 调用的模块:
// store/actions.ts
import axiosInstance from 'config/axiosConfig';
export const fetchUsers = () => (dispatch: ThunkDispatch<{}, {}, AnyAction>) => {
dispatch(loading(true));
return axiosInstance.get('/users')
.then(res => {
dispatch(loading(false));
dispatch(fetched(res.data));
})
.catch(err => dispatch(error(true)));
}
...
我想模拟 axios 配置文件来测试我的 api 文件。我尝试了很多很多方法但没有任何效果。我以为这会很简单
// store/actions.test.ts
import axiosInstance from 'config/axiosConfig';
jest.mock('config/axiosConfig');
axiosConfig.get.mockResolvedValue({users: mockUserList});
...
但我想事情并不是这样的。
axiosConfig.get.mockResolvedValue({users: mockUserList});编辑:当我放入测试内部而不是放在模拟调用下时,我的问题中的方法有效。
扬帆大鱼
相关分类