【问题标题】:Coverage in WebStorm with Mocha doesn't work使用 Mocha 覆盖 WebStorm 不起作用
【发布时间】:2018-03-16 07:54:26
【问题描述】:

我按照本指南将覆盖率报告集成到 WebStorm 中。

https://www.jetbrains.com/help/webstorm/mocha.html

当我单击“Run Mocha test with coverage”时,运行测试后会显示覆盖率窗口。但我没有看到任何报道。它甚至没有显示 0%,在“统计”列中根本没有显示任何数字。

任何帮助将不胜感激。

更多背景知识:

  • WebStorm 2017.2.3
  • 我指的是 package.json 中的 Mocha v3.2.0
  • 代码是用 ES2015 编写的。
  • mocha Run 配置使用这些环境变量

BABEL_ENV=test 和这些额外的 mocha 选项:--compilers js:babel-core/注册

提前致谢

更多信息:当我在 WebStorm 中运行时,我看到此命令正在输出到控制台:

/Users/nikolaschou/.nvm/versions/node/v8.1.2/bin/node /Users/nikolaschou/Dev/dsg/bifrostshop/node_modules/nyc/bin/nyc.js --reporter=lcovonly --extension =.ts --extension=.js --exclude=test/unitmocha//.spec. --exclude=test/unitmocha//.test。 --report-dir=/private/var/folders/q7/kn0zjzks5dz0q2bx0kpg2yhw0000gn/T/mocha-intellij-coverage- /Users/nikolaschou/Dev/dsg/bifrostshop/node_modules/mocha/bin/_mocha --compilers js:babel-core/register --ui bdd --reporter "/Applications/WebStorm 2.app/Contents/plugins/NodeJS/js/mocha-intellij/lib/mochaIntellijReporter.js" --recursive /Users/nikolaschou/Dev /dsg/bifrostshop/test/unitmocha

【问题讨论】:

  • 您使用什么模块来收集报道 - istanbulnyc?在 cmd 行中运行时,您可以收集测试覆盖率吗?
  • @lena 我在我的问题中添加了更多信息,据我所知,我使用的是 nyc
  • 我也有类似的问题。就我而言,已经有一个 .nycrc 文件(用于支持命令行执行),带有`“include”:[“src/”]`当我通过WebStorm运行覆盖时,我没有覆盖(像尼古拉)。当我删除(或重命名).nycrc 时,我只覆盖了 test 目录。
  • 我已经安装了 nyc,没有这个 hack 就可以正常工作。我没有看到 WebStorm 做的唯一一件事是突出显示代码中的红色或绿色行。我从 mocha 配置而不是命令行运行我的测试。

标签: mocha.js webstorm istanbul


【解决方案1】:

在项目根目录中添加一个名为 .nycrc 的文件,其中包含以下内容:

{ "exclude": [] }

这会覆盖nyc 默认配置并恢复win。

【讨论】:

  • 是的,谢谢,它似乎有效。现在我看到了覆盖率。
【解决方案2】:

就我而言,我遇到了这个问题,因为 mocha 没有正确退出。由于覆盖报告似乎是在程序退出时生成的,因此它们永远不会生成。

Mocha 4 尤其改变了 Mocha 3 的行为,因为它确实 “当它认为应该完成运行时,不再通过 process.exit() 自动杀死自己”

但是,您可以使用 --exit 选项强制执行该旧行为。 更好的选择可能是检查是什么阻止您的程序终止并执行干净关闭。 (例如,也许在wtfnode 的帮助下)

读数:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-24
    • 2014-04-03
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2016-03-18
    • 2020-06-14
    • 1970-01-01
    相关资源
    最近更新 更多