2017-05-23 51 views
2

我的玩笑測試用例是類似於:
爲什麼async()在Jest測試中轉換爲異步函數()?

test('should update state.focus', async() => { 
    let component = getComponent() 
    component.setState({focus: true}) 
    expect(component.state().focus).toEqual(true) 
    component.instance().handleBlur() 

    await expect(component.state().focus).toEqual(false) 
}) 

這個工作在當地的開發環境很好。然而,它未能竹給出以下錯誤:

test('should update state.focus', async function() { 
            ^^^^^ 
SyntaxError: missing) after argument list 

    at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17) 
    at handle (node_modules/worker-farm/lib/child/index.js:41:8) 
    at process.<anonymous> (node_modules/worker-farm/lib/child/index.js:47:3) 
    at emitTwo (events.js:106:13) 

我使用的玩笑 - 20.0.3和巴貝爾,開玩笑20.0.3

+0

你可以添加功能的整個身體 –

+0

我更新了身體上方 – Anuradha

+0

我指含有一個錯誤 –

回答

3

我有完全相同的問題。我可以通過安裝babel-preset-es2017包解決它,然後用它在.babelrc

{ 
    "presets": ["es2017"] 
} 
+0

這工作!謝謝你救了我很多挫折! – Eloff

+0

謝謝Stefan。有效! – Anuradha

相關問題