You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React Native中用Jest mock react-native-config库的Config数据

解决方案

步骤1:选择合适的mock方式

你可以任选以下两种方式之一完成mock:

方式一:全局mock第三方包

在测试目录下新建__mocks__/react-native-config.ts文件,写入如下代码:

export default {
  ENV: 'test',
  // 后续用到其他环境变量也可在此处补充定义
};

如果使用Jest作为测试框架,也可以直接在测试用例文件顶部添加mock声明:

jest.mock('react-native-config', () => ({
  default: {
    ENV: 'test'
  }
}));

方式二:直接在配置文件兼容测试场景

不需要额外mock,直接修改configfile.ts的取值逻辑,适配测试环境:

import Config from 'react-native-config';

interface Setting {
  environment: string;
}
const settings: Setting = {
  environment: Config.ENV || (process.env.NODE_ENV === 'test' ? 'test' : ''),
};

export default settings;

步骤2:验证测试执行顺序

如果使用用例内mock的方式,需要保证mock语句的位置在导入configfile.ts之前,示例如下:

// mock语句必须放在导入配置文件之前
jest.mock('react-native-config', () => ({
  default: {
    ENV: 'test'
  }
}));
import settings from './configfile';

test('验证environment取值为test', () => {
  expect(settings.environment).toBe('test');
});

内容的提问来源于stack exchange,提问作者Avinash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:09:03