2015-12-18 20 views
3

我的目标是能够在es6中编写src和测试文件,全部位于同一个目录中(我希望我的测试文件与我的并排源文件),并获得原始文件的覆盖率报告。babel-istanbul cover将文件从报告中排除,但保留为transpile

我能想出在这一点上是有包含在覆盖报告用下面的命令我的测试文件的最佳:

./node_modules/.bin/babel-node node_modules/.bin/babel-istanbul \ 
    cover \ 
    node_modules/.bin/_mocha -- 'src/**/*.spec.*.js' 

我没有使用cover -x 'src/**/*.spec.*.js'尝试,这也从排除的文件运输和mocha然后无法运行测试。对于我的生活,我无法弄清楚如何做的是这样的等价物:

./node_modules/.bin/babel-node node_modules/.bin/babel-istanbul \ 
    cover -x 'src/**/*.spec.*.js' \ 
    node_modules/.bin/_mocha -- --require babel-core/register 'src/**/*.spec.*.js' 

这将运行我的所有测试正常,但有给我的负面效应:

No coverage information was collected, exit without writing coverage information

所以我离我想要的不太远,我想我只是想念那里的最后一块,如果有人能够在这里帮助,这将非常感激。

问候, D.

+0

如果有人再次遇到这个问题,我现在已经转移到新的伊斯坦布尔工具[nyc](https://www.npmjs.com/package/nyc),这使得这更容易。 – Danosaure

回答

3

从来没有得到-x选择做什么,我想要的。如果你不介意使用.istanbul.yml文件,这个工作对我来说,获得并排侧覆盖报告排除测试...

npm run cover命令:

babel-node node_modules/.bin/babel-istanbul cover _mocha -- --opts mocha.opts

project_dir/mocha.opts文件:

src/**/*.test.js 
--compilers js:babel-register 
--require babel-polyfill 

project_dir/.istanbul.yml文件:

instrumentation: 
    root: src 
    include-all-sources: true 
    verbose: true 
    excludes: ["*.test.js"] 
reporting: 
    dir: "coverage" 
+0

谢谢,但与此,我得到:'没有收集信息收集,退出没有写覆盖信息' – Danosaure

+0

我拿出'--compiliers js:babel-core/register',它似乎工作。我被封锁了,所以停止了我的测试,但我会更加努力,看看是否有其他问题出来。 – Danosaure

相关问题