你好,
我的Mocha配置有问题。我已经得到了应该由Babel编译的ES6代码,然后我想获得这个ES6代码的覆盖率(以LCOV格式)。
我解决这个问题的方法是使用mocha、mocha-lcov-reporter、babel和blanket包。代码结构为:
-- 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因此,它应该对所有*.spec.js文件运行Mocha测试,使用Babel编译它们,并在此之前启动test/blanket.js文件。
启动此命令后,我收到来自esprima.js的Error: Line 1: Unexpected reserved word错误。当我在不需要测试/综合文件的情况下运行它时,它运行起来没有问题,但是ofc我没有覆盖。
有没有人尝试过这样做?你知道怎么做吗?
发布于 2015-04-22 01:17:31
好的,问题已经解决了,但是没有Babel (改为原生ES6 );我已经用另一种方式完成了。我使用过istanbul-harmony和mocha包。然后命令是:
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- $(find test -name '*.spec.js') -R spec -u exportshttps://stackoverflow.com/questions/29776056
复制相似问题