Estoy tratando de configurar jest para una biblioteca nativa de reacción, pero recibo el siguiente error
SyntaxError: react-native/Libraries/polyfills/error-guard.js: Missing semicolon. (14:4) 12 | let _inGuard = 0; 13 | > 14 | type ErrorHandler = (error: mixed, isFatal: boolean) => void; | ^ 15 | type Fn<Args, Return> = (...Args) => Return;versión nativa de reacción : 0.61.5
aplicación.js
import { Dimensions } from 'react-native'; function sum(a, b) { return a + b; } module.exports = sum;aplicación.prueba.js
const sum = require('./app'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); });jest.config.js
module.exports ={ preset : 'react-native', transformIgnorePatterns: [ '/node_modules/(?!(@react-native|react-native)/).*/' ] }.babelrc
{ "presets": ["react-native"] }Probé varias soluciones sugeridas, como agregar transformIgnorePatterns, pero fue en vano. Puede alguien ayudarme aquí ?
Funcionó para mí después de cambiar el archivo .babelrc a babel.config.js .
También funcionó para mí después de cambiar el archivo .babelrc a babel.config.js
module.exports = { presets: ['module:metro-react-native-babel-preset'], }; package.json
"react": "17.0.2", "react-native": "0.67.4", [...] "@babel/core": "7.18.0",Finalmente pude solucionar este problema después de una larga lucha:
Como dijo Daniel en la respuesta anterior, debemos cambiar el archivo .babelrc a babel.config.js. Además de eso tenemos que seguir los siguientes pasos:
presets: ['module:metro-react-native-babel-preset'] en el archivo babel.config.js."@testing-library/jest-native": "^4.0.5" y "babel-plugin-transform-class-properties": "^6.24.1"