Jest с React Native 57 не работает с синтаксисом ES7 - PullRequest
0 голосов
/ 17 октября 2018

Я обновил package.json с помощью

"^. ((?! Saga).) * \. Js $": "/node_modules/react-native/jest/preprocessor.js",

Однако все компоненты, написанные с использованием синтаксиса ES7, перестают работать, например

export default class Test extends Component {
  state = { test: '' }

  testFunc = () => {}
}

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

(1) Я использую .babelrc.js вместо .babelrc и добавляю следующий фрагмент:

let presets = ["module:metro-react-native-babel-preset"];
let plugins = [];

if (process.env['ENV'] === 'test') {
   presets = ["babel-preset-react-native"];
   plugins = ["jest-hoist"];
}

module.exports = { presets, plugins };

(2) добавляю "babel-preset-реакции-native": "^ 5", вyour devDependencies (3) Обновите тестовый скрипт в package.json до

"ENV='test' node_modules/.bin/jest"

Причина, по которой это делается, заключается в использовании разных предустановок babel в разных ENV

0 голосов
/ 17 октября 2018

Решено обновлением моего .babelrc

{
    "presets": ["module:metro-react-native-babel-preset"],
    "env": {
        "test": {
            "presets": ["react-native"]
        }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...