1

嗨,

我的 Mocha 配置有问题。我有应该由 Babel 编译的 ES6 代码,然后我想获得这个 ES6 代码的覆盖率(以 LCOV 格式)。

我解决这个问题的方法是使用mochamocha-lcov-reporter和包。代码结构为:babelblanket

-- src
----- ...
-- test
----- spec
-------- something.spec.js
-------- ...
----- blanket.js

规范在test/spec目录中的位置(也匹配*.spec.js模式)并且blanket.js是:

require('blanket')({
    pattern: require('path').join(__dirname, '..', 'src')
});

我准备的命令是:

./node_modules/.bin/mocha $(find test -name '*.spec.js') --recursive --compilers js:babel/register -r test/blanket -R mocha-lcov-reporter

因此,它应该对所有文件运行 Mocha 测试*.spec.js,通过 Babel 编译它们并test/blanket.js在之前启动文件。

启动此命令后,我Error: Line 1: Unexpected reserved wordesprima.js. 当我在不需要测试/毯子文件的情况下运行它时,它运行没有问题,但是我没有覆盖。

有没有人尝试过这样做?你有什么想法吗?

4

1 回答 1

2

好的,问题已经解决了,但是没有 Babel(而不是原生 ES6);我已经用另一种方式做到了。我用过istanbul-harmonymocha包。然后命令是:

./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- $(find test -name '*.spec.js') -R spec -u exports
于 2015-04-21T17:17:31.023 回答