jest利用__mocks__设置模拟函数不见效 办理方案

打印 上一主题 下一主题

主题 1023|帖子 1023|积分 3069

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
模拟文件
  1. // __mocks__/axios.js
  2. const axios = jest.fn();
  3. axios.get = jest.fn();
  4. axios.get.mockResolvedValue({
  5.   data: {
  6.     undoList: ['get data'],
  7.   },
  8. });
  9. export default axios;
复制代码
测试文件
  1. jest.mock('axios');
  2. import Axios from 'axios';
  3. test('mytest', () => {
  4.   console.log("test before", Axios.get()); // 显示undefined
  5. })
复制代码

原因

jest.config.js中resetMocks为true时,会在每个测试用例开始前清空全部模拟函数的实现。
  1. // jest.config.js
  2. module.exports = {
  3.   // ...
  4.   "resetMocks": true,
  5. };
复制代码
将resetMocks改为false就可以了,或者以内联的方式在测试用例里面设置模拟函数的实现也可以。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表