2016-01-15 29 views
2

我试图用jest和浅色渲染测试React Native组件。React Native + jest + shallow rendering =意外的令牌错误

然而,在错误调用ShallowRenderer.render()结果

SyntaxError: Unexpected token ... at eval (native) at Object.eval (components/list-conditions.js:1:244) at 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']} />); 
    }); 

}); 

回答

1

我得到了相同的意外token error,并在项目根文件中添加一个.babelrc文件以下帮助我

{ 
    "presets": [ 
    "react", 
    "es2015" 
    ] 
} 
+0

如果您使用的是最新版本的React Native,您可以简单地使用'babel-preset-react-native'模块并在''中写入'{“presets”:[“react-native”]}''。 babelrc'文件。 – nbkhope