gpt4 book ai didi

reactjs - ES6 React istanbul 未收集覆盖率信息,退出时不写入覆盖率信息

转载 作者:行者123 更新时间:2023-12-03 13:35:16 25 4
gpt4 key购买 nike

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

No coverage information was collected, exit without writing coverage information

我使用 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'"

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

如果我在项目的 src 文件夹中添加一个新类 mod.js,则 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 来获得正确的代码覆盖率?

最佳答案

我也遇到了同样的问题,但是这个github issue指导得很好。我希望您可以使用 istanbul@1.0.0-alpha.2 来解决我的问题。

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

关于reactjs - ES6 React istanbul 未收集覆盖率信息,退出时不写入覆盖率信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com