Настройка Jest / Enzyme для React Native - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь настроить модульное тестирование моих компонентов React Native, используя Jest и Enzyme, следуя инструкциям по установке, найденным здесь: https://medium.com/@jan.hesters/using-typescript-with-react-native-946aa4b4ae6f

Однако, когда я запускаю свои тесты, они терпят неудачу со следующей ошибкой:

FAIL  src/component/__tests__/App.test.tsx
    ● Test suite failed to run


/Users/perry.hoekstra/Development/NativeComponents/src/component/
__tests__/App.test.tsx:13
   const tree = _reactTestRenderer.default.create(<_App.default />).toJSON();
                                                   ^
SyntaxError: Unexpected token <
  at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:440:17)

Если я запускаю тест inline (код и тест в одном и том же файле), тест выполняется, однако, если у меня есть отдельный тест, в который импортируется тестируемый компонент, тест завершается неудачно сошибка выше.

Прямо сейчас мой файл jest.config.js выглядит следующим образом:

module.exports = {
  preset: "react-native",
  transform: {
    "^.+\\.tsx$":
        "<rootDir>/node_modules/react-native/jest/preprocessor.js",
    "\\.(ts|tsx)$": "ts-jest"
  },
  globals: {
      "ts-jest": {
          tsConfig: "tsconfig.jest.json"
      }
  },
  transformIgnorePatterns: ["/node_modules/"],
  moduleFileExtensions: ["ts", "tsx", "js"],
  testRegex: "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$"
};

Мой файл babel.config.js:

module.exports = {
  presets: [
    ["@babel/preset-env", { targets: { node: "current" } }],
    "@babel/preset-typescript"
  ]
};

Любые мысли о том, что мне не хватает, чтобы решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...