当前位置:  开发笔记 > 编程语言 > 正文

ES6 React istanbul没有收集覆盖范围信息,退出时没有编写覆盖范围信息

如何解决《ES6Reactistanbul没有收集覆盖范围信息,退出时没有编写覆盖范围信息》经验,为你挑选了1个好方法。

我在运行测试时遇到问题,代码覆盖率不起作用,我有消息

没有收集覆盖信息,退出时没有编写覆盖范围信息

我使用ES6编写测试,并使用babel来转换代码.

为了解决这个问题,我使用了本次讨论中提供的github项目:https://github.com/gotwarlost/istanbul/issues/496

诀窍是使用

`babel-node ./node_modules/istanbul/lib/cli cover node_modules/mocha/bin/_mocha -- --require test-helper.js --bail --recursive 'src/js/__tests__/**/*.test.js'` 

代替

"istanbul cover node_modules/mocha/bin/_mocha -- --compilers js:babel-core/register --require scripts/test-helper.js --recursive 'src/js/__tests__/**/*.test.js'"

它运行良好,但问题是代码覆盖率只考虑您测试的类,而不是您创建的所有类.

如果我在项目mod.jssrc文件夹中添加新类,则app.js组件的覆盖率为100%.这是合乎逻辑的,因为它已经过全面测试,但在报告中,mod.js该类没有出现在报告中 - 它没有被列为0%测试的类(https://github.com/JakeSidSmith/istanbul-no-coverage).

我试图添加cover -x 'src/js/__tests__/**/*.test.js'但不起作用.我不能混合第一种风格和第二种风格.

另一个问题是,在上面提供的项目示例中,test-helper.js被认为是完全测试的,我无法将其从覆盖范围中排除cover -x.

是否有另一个技巧,使用ES6/mocha和mocha调用正确的代码覆盖babel-core/register



1> sam..:

我也面临同样的问题,但这个github 问题引导得很好.我希望你可以使用istanbul@1.0.0-alpha.2解决问题的用途.

我的命令是这样的 istanbul cover --dir ./coverage _mocha -- ./tests/**/**/*.js --opts ./tests/mocha.opts -R spec

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有