Open shensven opened 3 years ago
+1
jest.mock("react-native-background-timer", () => {});
The suggested solution didn't work for me.
While this error appears to come from react-native-background-timer
, the true culprit, if you look carefully, is react-native/Libraries/EventEmitter/NativeEventEmitter
, I solved this by adding the following to my jest.setup.js
:
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
i seem to be getting another error after doing this? i'm currently trying to mock deviceInfo module like so:
jest.mock('react-native-device-info', () => ({
...jest.requireActual('react-native-device-info'),
getBuildNumber: jest.fn(() => 99),
}));
i got this error : Invariant Violation: new NativeEventEmitter()
requires a non-null argument.
After adding the jest mock for NativeEventEmitter i get this error:
react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:
• For react-native <= 0.59: Run `react-native link react-native-device-info` in the project root.
• Rebuild and re-run the app.
• If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.
If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info
This might also be a solution: https://github.com/react-native-device-info/react-native-device-info/issues/1360#issuecomment-1004822298
The suggested solution didn't work for me.
While this error appears to come from
react-native-background-timer
, the true culprit, if you look carefully, isreact-native/Libraries/EventEmitter/NativeEventEmitter
, I solved this by adding the following to myjest.setup.js
:jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
@princefishthrower
this helped a lot.=, Thanks man :)
The suggested solution didn't work for me.
While this error appears to come from
react-native-background-timer
, the true culprit, if you look carefully, isreact-native/Libraries/EventEmitter/NativeEventEmitter
, I solved this by adding the following to myjest.setup.js
:jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
please where do I find this setup file? as all the answers seem vague
@AdamuAbba if you have Jest installed in your project you will find this file in the root of your project. The name of the file is jest.setup.js
. If you are using VsCode, you can press Ctrl+P / Command+P and search by file name.
Open that file and inside just paste the line mentioned by @princefishthrower
@AdamuAbba if you have Jest installed in your project you will find this file in the root of your project. The name of the file is
jest.setup.js
. If you are using VsCode, you can press Ctrl+P / Command+P and search by file name. Open that file and inside just paste the line mentioned by @princefishthrower
OMG, this is the best reply so far, so direct and straight to the point. thanks, you're a lifesaver 🔥
The suggested solution didn't work for me.
While this error appears to come from
react-native-background-timer
, the true culprit, if you look carefully, isreact-native/Libraries/EventEmitter/NativeEventEmitter
, I solved this by adding the following to myjest.setup.js
:jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
@AdamuAbba I get jest is not defined
if I add this in my jest.setup.js
file
@Balthazar33 did you try importing jest like so at the top of your jest.setup.js
file ?
import {jest} from '@jest/globals'
in an ideal environment, this should not be necessary tho for global modules ..... i think.
jest.setup.js
after adding the above line I am getting this error : TypeError: _reactNative.NativeEventEmitter is not a constructor
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
jest.setup.json file doesn't exist
You have to create it
El El mar, 27 jun 2023 a las 11:35, TomJerry56 @.***> escribió:
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
jest.setup.json file doesn't exist
— Reply to this email directly, view it on GitHub https://github.com/ocetnik/react-native-background-timer/issues/367#issuecomment-1609139455, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALKLCYPGUURQLCEGIEBDBQ3XNKSN7ANCNFSM5FQWR2BQ . You are receiving this because you commented.Message ID: @.***>
-- Nadine Thêry
NadineThery.com | Linkedin https://www.linkedin.com/in/nadinethery/ | Twitter http://www.twitter.com/nanythery |
You have to create it El El mar, 27 jun 2023 a las 11:35, TomJerry56 @.> escribió: jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter'); jest.setup.json file doesn't exist — Reply to this email directly, view it on GitHub <#367 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALKLCYPGUURQLCEGIEBDBQ3XNKSN7ANCNFSM5FQWR2BQ . You are receiving this because you commented.Message ID: @.> -- Nadine Thêry NadineThery.com | Linkedin https://www.linkedin.com/in/nadinethery/ | Twitter http://www.twitter.com/nanythery |
getting same error, Do I need add any other changes in tsconfig related to jest.setup.js?
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
seems to work for me if I put it in the single test file, but not in jest.setup.json
(I checked that the file is correctly loaded, and tried both with and without import { jest } from '@jest/globals';
I am curious as to why one works and not the other.
these two lines in 'jest.setup.js' fixed the issue for the same error in react-native-device-info
import mockRNDeviceInfo from "react-native-device-info/jest/react-native-device-info-mock"
jest.mock("react-native-device-info", () => mockRNDeviceInfo)
maybe it's a similar issue
The suggested solution didn't work for me.
While this error appears to come from
react-native-background-timer
, the true culprit, if you look carefully, isreact-native/Libraries/EventEmitter/NativeEventEmitter
, I solved this by adding the following to myjest.setup.js
:jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter');
Great, this line wasn't mandatory on my case, but helped me to identify the correct problem, because show the real problem. Thank you very much!
The following error will be reported if jest is not configured
So maybe we should configure jest manually, like:
This allows the unit tests to pass with flying colors
repo here: https://github.com/shensven/ReadHubn/tree/5806faf354fbd178827aff9985efe4dea906c24d
test here: https://github.com/shensven/ReadHubn/runs/3824410010?check_suite_focus=true