React Native + jest + мелкий рендеринг = неожиданная ошибка токена

Я пытаюсь протестировать компонент React Native, используя шутку и неглубокий рендеринг.

Однако вызовы ShallowRenderer.render() приводят к ошибке.

SyntaxError: неожиданный токен ... в eval (собственный) в Object.eval (components / list-conditions.js: 1: 244) в Spec.eval (tests / components / list-conditions-test .js: 14: 48)

Код теста очень прост, мне даже не нужен оператор assert, чтобы получить эту ошибку:

jest.dontMock('../../components/list-conditions.js');

const React = require('react');
const TestUtils = require('react-addons-test-utils');

const ListConditions = require('../../components/list-conditions.js');

describe('ListConditions', () => {

  it('renders buttons', () => {
    var renderer = TestUtils.createRenderer();
    renderer.render(<ListConditions conditions={['a', 'b']} />);
  });

});

person Mike Borozdin    schedule 15.01.2016    source источник


Ответы (1)


У меня такой же Unexpected token error, и добавление файла .babelrc в корневой файл проекта со следующим помогает мне

{
  "presets": [
     "react",
     "es2015"
  ]
}
person Vivian    schedule 10.03.2016
comment
Если вы используете последнюю версию React Native, вы можете просто использовать модуль babel-preset-react-native и написать { "presets": ["react-native"] } в своем .babelrc файле. - person nbkhope; 01.05.2017