为什么Jest需要Babel来测试异步代码?

时间:2019-04-01 20:48:09

标签: jestjs babel

笑话"An Async Example" guide的开头:

  

首先,在Jest中启用Babel支持...

但是我想念Jest为什么需要Babel以及在何处需要Babel。

1 个答案:

答案 0 :(得分:1)

Node.js从7.6.0版本开始默认支持async功能,因此(您怀疑)Babel不需要{strong> 使用Jest函数运行测试。

我只是通过安装 async v24.6.0来确认这一点,并使用Node.js v10.15.1运行了该测试:

Jest

...而且一切顺利。


另一方面,使用ES6模块语法要求test('hi', async () => { const val = await Promise.resolve('hello'); expect(val).toBe('hello'); });

"An Async Example"文档中的许多示例都使用ES6模块语法(Babelexport default ...等),因此import * as ... 是必需的这些示例中的任何一个都可以使用。