Почему async () преобразуется в async function () в тестах 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)

Я использую Jest - 20.0.3 и Babel-Jest 20.0.3

1 ответ

Решение

У меня была точно такая же проблема. Я мог бы решить это, установив babel-preset-es2017 пакет, а затем использовать его в .babelrc

{
  "presets": ["es2017"]
}
Другие вопросы по тегам