如何在开玩笑中使用harmony_async_iteration?

时间:2018-01-07 18:21:45

标签: node.js jestjs

我想在不使用babel的情况下使用异步迭代的节点项目中测试代码。

基于https://github.com/facebook/jest/issues/2485,我尝试使用node --harmony_async_iteration ./node_modules/.bin/jest运行游戏。但是,我仍然在我的模块中看到使用异步迭代语法的语法错误。节点命令行选项无效,就好像jest为测试运行器生成了一个新进程,而没有使用--harmony_async_iteration

使用--harmony_async_iteration按节点(没有jest)加载时,我的异步迭代源文件被解析而没有错误。

1 个答案:

答案 0 :(得分:0)

Babel是开玩笑的一个组成部分。没有必要使用babel来转换你的应用程序进行非测试使用,但绝对必须配置babel以允许异步生成器与jest一起工作。

安装babel-plugin-transform-async-generator-functions:

npm install --save-dev babel-plugin-transform-async-generator-functions

yarn add --dev babel-plugin-transform-async-generator-functions

通过创建.babelrc文件(或添加到文件)来激活插件:

{ "plugins": ["transform-async-generator-functions"] }

现在,您的jest测试应该与异步生成器一起使用。