【问题标题】:How to run Jest with React-Native with Android only如何仅在 Android 上使用 React-Native 运行 Jest
【发布时间】:2019-07-20 14:21:03
【问题描述】:

当我运行npm test 时,我得到了这个错误:

Test suite failed to run

    RNFirebase core module was not found natively on iOS, ensure you have correctly included the RNFirebase pod in your projects `Podfile` and have run `pod install`.

我想使用 Jest 为 Android 平台运行测试,只是因为我不是为 iOS 开发的。

【问题讨论】:

  • 我不确定。尝试使用 index.android.js 而不是单个文件 index.js。并在你的测试文件夹中获取 index.android.js 文件的文件扩展名并尝试运行 npm test。检查它是否工作。
  • @priyanga 执行此操作后仍然出现相同的错误。
  • 对于这个问题,我的解决方案是运行。转到目录 1.cd ios/ 2.pod update 3.pod install (或)尝试像 react-native 链接一样链接库。
  • 尝试点击下面给出的链接。stackoverflow.com/questions/43161416/…
  • ``` jest.mock('Platform', () => { const Platform = require.requireActual('Platform'); Platform.OS = 'android'; return Platform; }); import LoginScreen from '../../components/login' test('正确渲染', () => { const tree = renderer.create().toJSON(); expect(tree).toMatchSnapshot( ); }); ``` 现在错误是一样的,但与 gradle 文件有关:``` RNFirebase 核心模块在 Android 上本地未找到,请确保您已将 RNFirebase 和 Firebase gradle 依赖项正确添加到 android/app/build.gradle 文件中。 ```

标签: react-native jestjs react-native-android


【解决方案1】:

我在我的测试文件顶部添加了这段代码来模拟 Android 上的所有测试:

jest.mock('Platform', () => {
  const Platform = require.requireActual('Platform');
  Platform.OS = 'android';
  return Platform;
})

重要提示:它必须位于所有测试函数的顶部

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多