【问题标题】:Invariant Violation: `new NativeEventEmitter()` requires a non-null argument不变违规:`new NativeEventEmitter()` 需要一个非空参数
【发布时间】:2021-12-28 11:52:14
【问题描述】:

我尝试使用 jest 在 react-native 中运行默认测试,但发现了这个问题:

Test suite failed to run

Invariant Violation: `new NativeEventEmitter()` requires a non-null argument.

  at invariant (node_modules/invariant/invariant.js:40:15)
  at new NativeEventEmitter (node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js:44:7)
  at Object.<anonymous> (node_modules/@react-native-clipboard/clipboard/dist/NativeClipboard.js:15:20)
  at Object.<anonymous> (node_modules/@react-native-clipboard/clipboard/dist/Clipboard.js:24:38)

我完全不知道如何解决这个问题。

我尝试添加以下行:

jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');

到 jest.setup.js

模拟/native_event_emmiter.js

但这两种解决方案都不起作用。

有人知道怎么解决吗?

【问题讨论】:

    标签: react-native testing jestjs automated-tests


    【解决方案1】:

    您是否在您的jest.config.js 中添加了setupFiles

    这对我有用:

    //jest.config.js
    
    setupFiles: ['<rootDir>/jest.setup.js'],
    
    //jest.setup.js
    
    jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
    

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 2022-12-13
      • 2022-07-11
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多