【问题标题】:Mocha not running unit tests through webpack 2Mocha 没有通过 webpack 2 运行单元测试
【发布时间】:2016-10-25 16:38:50
【问题描述】:

我在运行 Mocha、Expect 和 Enzyme 时遇到问题。首先,我通过 babel 编译我的 webpack 配置文件。下面是我得到的错误的附加屏幕截图,并且测试文件是有效的。有人有类似的问题吗?

【问题讨论】:

  • 你的 babel 配置是什么样的?确保您包含转换以处理导入语句。通常你会使用babel-preset-es2015 插件来做到这一点
  • 您是否也转译了您的 .test 文件。该错误清楚地表明o Mocha 无法解析import 关键字,即ES 2015 语法。我认为您需要将 .test 文件转换为 ES5,然后针对 ES5 文件运行 mocha。
  • 试试var expect = require('expect');
  • @Venky,如果我理解正确的话,他的问题是“如何在我的 mocha 测试中使用 ES6 模块?”

标签: webpack mocha.js expect babeljs enzyme


【解决方案1】:

你向我展示了你的 webpack 配置,而不是你的 babel 配置。但是,根据我所看到的,虽然我猜你正在使用babel-preset-es2015-webpack,它不包括转换以转换 es6 模块(babel-plugin-transform-es2015-modules-commonjs)。您需要将其包含在您的测试中。您可以按照我向您展示如何在this lesson 中包含babel-plugin-__coverage__ 插件的相同方式执行此操作。另请查看cross-env 以设置BABEL_ENV 进行测试。

另外,您使用的 babel-core/register 将被弃用。您需要改用 babel-register 包。

所以你的脚本可能看起来像:

"test": "cross-env BABEL_ENV=test mocha --harmony --compilers js:babel-register --recursive src/__tests__"

【讨论】:

  • 我也使用过 babel-register 检查,没有运气。此外,您给出的命令给出了相同的错误:(
  • 是的
猜你喜欢
  • 2015-12-29
  • 2015-11-29
  • 2018-04-17
  • 2019-06-17
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多