Tests fail to run with Jest and React Native

Viewed 520

Using React Native with Jest and TypeScript, when trying to run the tests I get:

Test suite failed to run

    [BABEL] unknown: Preset /* your preset */ requires a filename to be set when babel is called directly,
    babel.transform(code, { filename: 'file.ts', presets: [/* your preset */] });
    See https://babeljs.io/docs/en/options#filename for more information.

Any idea what can cause this?

This is my jest section on package.json:

"jest": {
    "preset": "react-native",
    "roots": [
      "<rootDir>/__tests__"
    ],
    "setupFiles": [
      "<rootDir>/scripts/jest/setup.js",
      "<rootDir>/node_modules/appcenter/test/AppCenterMock.js",
      "<rootDir>/node_modules/appcenter-analytics/test/AppCenterAnalyticsMock.js",
      "<rootDir>/node_modules/appcenter-crashes/test/AppCenterCrashesMock.js",
      "<rootDir>/node_modules/appcenter-push/test/AppCenterPushMock.js",
      "<rootDir>/node_modules/react-native-localization.js",
      "./config/jest/mock.fetch.js",
      "./config/jest/react-native-localization.js"
    ],
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "transform": {
      "^.+\\.(js)$": "<rootDir>/node_modules/babel-jest",
      "\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "collectCoverage": true,
    "coverageDirectory": "coverage",
    "coverageReporters": [
      "text-summary",
      "html"
    ],
    "testPathIgnorePatterns": [
      "\\.snap$",
      "<rootDir>/node_modules/",
      "<rootDir>/lib/"
    ],
    "collectCoverageFrom": [
      "**/*.{js,jsx}",
      "artifacts/**/*.js",
      "!artifacts/**/*.spec.js",
      "!artifacts/**/*.index.js",
      "!<rootDir>/node_modules/"
    ]
  },

and this is my babel.config.js file:

module.exports = {
  presets: [
    'module:metro-react-native-babel-preset'
  ],
  plugins: [
    'babel-plugin-transform-typescript-metadata',
    ['@babel/plugin-proposal-decorators', { legacy: true }]
  ],
};
0 Answers
Related