Reaction problem

I get an error when trying to run test code samples. I am using native reaction with a joke. everything worked perfectly until the 0.40 update. now 0.42 all my test cases stop working and get an error after an error.

({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import React, { Component, Children, PropTypes } from 'react'; ^^^^^^ SyntaxError: Unexpected token import at transformAndBuildScript (node_modules/jest-runtime/build/transform.js:320:12) at Object.<anonymous> (node_modules/react-native-root-siblings/lib/AppRegistryInjection.js:3:22) at Object.<anonymous> (node_modules/react-native-root-siblings/lib/SiblingsManager.js:3:27) 

here is my .babelrc code

 { "presets": [ "react-native" ], "plugins": [ "transform-decorators-legacy" ] } 

what a problem i don't get.

+5
source share
2 answers

I got a solution

 "jest": { "preset": "react-native", "transformIgnorePatterns": [ "node_modules" ], "coveragePathIgnorePatterns": [ "node_modules" ], "modulePathIgnorePatterns": [ "node_modules" ] }, 

and in my devDependencies I added "react-addons-test-utils" , "react-dom" ,

 "devDependencies": { "babel-core": "^6.17.0", "babel-eslint": "^7.2.1", "babel-jest": "^19.0.0", "babel-loader": "^6.2.5", "babel-plugin-transform-decorators": "^6.13.0", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-preset-es2017": "^6.16.0", "babel-preset-react": "^6.16.0", "babel-preset-react-native": "^1.9.1", "babel-preset-stage-0": "^6.16.0", "enzyme": "^2.8.0", "jest": "^19.0.2", "npm": "^4.4.4", "react-addons-test-utils": "^15.4.2", "react-dom": "^15.4.2", "react-test-renderer": "^15.4.2" } 

This solved the whole problem.

+2
source

I had the same problem with 0.42. I hit my head until I found a piecemeal solution.

You need to write ignore in package.json . Mine example:

 "jest": { "preset": "react-native", "setupFiles": [ "<rootDir>/src/config/jest.js" ], "transformIgnorePatterns": [ "<rootDir>/(node_modules)/(?!react-native|react-navigation|bugsnag-react-native)" ], "transform": { "^.+\\.js$": "<rootDir>/node_modules/babel-jest" } 

And my /config/jest.js looks like this:

 jest.mock('Linking', () => ({ addEventListener: jest.fn(), removeEventListener: jest.fn(), openURL: jest.fn(), canOpenURL: jest.fn(), getInitialURL: jest.fn().mockImplementation(() => new Promise((resolve) => resolve())) })); jest.mock('mobx-react/native', () => require('mobx-react/custom')); jest.mock('react-native-mixpanel', () => ({ sharedInstanceWithToken: jest.fn(), trackWithProperties: jest.fn() })); jest.mock('bugsnag-react-native', () => ({ Client: jest.fn(), Configuration: jest.fn() })); 

I cannot guarantee that this solves all your problems directly. However, the idea is to ignore all the "villains" ( response-native-root-siblings in your case), thereby avoiding such error messages.

+3
source

Source: https://habr.com/ru/post/1266161/


All Articles