2016-01-15 41 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