如何在玩笑测试中禁用React Native YellowBox消息

时间:2019-07-17 15:13:13

标签: react-native jestjs

我知道如何在设备中运行时禁用YellowBox警告:

YellowBox.ignoreWarnings(ignoredYellowBox);

但是我不知道如何通过开玩笑的​​测试使它们静音。有一些弃用警告,我们无法处理atm,它们使我们的测试非常嘈杂。我宁愿不要从我们的测试中阻止每个YellowBox警告,但如果有必要,那也可以。

1 个答案:

答案 0 :(得分:0)

这是一件很烦人的事情。这是我们想出的:

const warnings = [
  'Warning: NetInfo has been extracted from react-native core and will be removed in a future release.',
  'inside a test was not wrapped in act(...).',
];
const oldError = console.error;
jest.spyOn(console, 'error').mockImplementation((...args) => {
  const string = args.join(' ');
  if (warnings.some(warning => string.match(warning))) return;
  oldError(...args);
});

将该代码段添加到您的jest设置文件中,并根据您的情况编辑warnings数组。