gpt4 book ai didi

node.js - 如何使用 Node、Mocha 获取代码覆盖率信息

转载 作者:IT老高 更新时间:2023-10-28 22:05:47 25 4
gpt4 key购买 nike

我最近开始在 Mocha 的帮助下对我的 Node 项目进行单元测试。到目前为止一切进展顺利,我发现我的代码已经有了显着改进,因为我正在考虑在我的测试中涵盖的所有角度。

现在,我想与团队的其他成员分享我的经验,并让他们进行自己的测试。我想分享的部分信息是我的代码实际上被覆盖了多少。

以下是我的应用程序结构示例,我已将其分成不同的组件或模块。为了促进重用,我试图将所有依赖项保持在最低限度并与组件文件夹隔离。这包括保持测试隔离,而不是项目根目录中的默认 test/ 文件夹。

| app/
| - component/
| -- index.js
| -- test/
| ---- index.js

目前我的 package.json 看起来像这样。我在玩弄 Istanbul ,但我与它无关。我也试过使用 Blanket取得了类似的成功。

{
"scripts": {
"test": "clear && mocha app/ app/**/test/*.js",
"test-cov": "clear && istanbul cover npm test"
}

如果我按原样运行 test-cov 命令,我会从 Istanbul 尔收到以下错误(没有帮助):

No coverage information was collected, exit without writing coverage information

所以我的问题是:鉴于我当前的应用程序结构和环境,我如何才能使用 Istanbul 尔(或其他工具)正确报告我的代码覆盖率?


TL;DR

如何使用 Node、Mocha 和我当前的应用程序结构报告我的代码覆盖率?


编辑

需要明确的是,Mocha 在当前状态下正在正确运行测试。获取代码覆盖率报告是我开始工作时遇到的困难。

编辑 2

我收到通知 another question可能已经回答了我的问题。它只建议安装 Istanbul 尔并运行我已经完成的 cover 命令。另一个建议建议使用 _mocha 运行测试命令,根据我所做的一些研究,这是为了防止 Istanbul 尔吞下 Mocha 的标志,而在较新版本的 Mocha 中没有必要。

最佳答案

你应该尝试像这样运行你的测试:

istanbul cover _mocha test/**/*.js

关于node.js - 如何使用 Node、Mocha 获取代码覆盖率信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490477/

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