Я пытаюсь протестировать свое нативное приложение с помощью AVA и babel-preset-react-native
Мой конфиг выглядит так:
"scripts": {
"test": "ava"
},
"ava": {
"files": [
"src/**/__tests__/*.js"
],
"failFast": true,
"require": [
"react-native-mock/mock.js",
"babel-register"
],
"babel": {
"presets": [
"react-native"
]
}
},
"devDependencies": {
"ava": "^0.13.0",
"babel-preset-react-native": "^1.2.4",
"babel-register": "~6.4.3",
"react-native-mock": "0.0.6"
}
… и терпит неудачу следующим образом:
/Users/zoon/Projets/xxxxx/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/index.js:556
throw err;
^
SyntaxError: /Users/zoon/Projets/xxxxx/src/reducers/env.js: Unexpected token (12:8)
10 | case types.RECEIVE_CHANGE_ENV:
11 | return {
> 12 | ...state,
| ^
13 | current: Environments[action.env]
14 | };
15 | default:
Если я экспортирую эту конфигурацию babel в файл .babelrc и использую «babel»: «inherit» в моей конфигурации AVA, произойдет сбой по-другому:
/Users/zoon/Projets/xxxxx/node_modules/lodash-es/lodash.js:10
export { default as add } from './add';
^^^^^^
SyntaxError: Unexpected token export
Я не могу понять, как правильно настроить это. Я пробовал Mocha, столкнулся с теми же проблемами.
lodash-es
? Это одна из ваших зависимостей? Если это так, я рекомендую вместо этого использовать прямоеlodash
. Код ES2015 должен быть скомпилирован перед развертыванием вnpm
, это позволяет избежать подобных проблем. - person James Talmage   schedule 15.03.2016