使用Mocha的WebStorm覆盖范围并不起作用

时间:2017-10-04 19:49:13

标签: mocha webstorm istanbul

我按照本指南获取了在WebStorm中集成的覆盖率报告。

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

当我点击"运行Mocha测试覆盖"运行测试后显示覆盖窗口。但我没有看到任何报道报道。它甚至没有显示0%,它在Statistics列中根本没有显示任何数字。

任何帮助将不胜感激。

更多背景资料:

  • WebStorm 2017.2.3
  • 我在package.json
  • 中引用了Mocha v3.2.0
  • 代码以ES2015编写。
  • mocha运行配置使用这些环境变量
  

BABEL_ENV =测试和这些额外的摩卡选项: - 编译器   JS:巴别核/注册

提前致谢

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

  

/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

2 个答案:

答案 0 :(得分:1)

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

{ "exclude": [] }

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

答案 1 :(得分:1)

在我的情况下,我遇到了这个问题,因为摩卡咖啡无法正常退出。由于覆盖率报告似乎是在程序退出时生成的,因此它们永远不会生成。

Mocha 4特别是从Mocha 3改变了行为,因为它确实“不再认为它应该在运行时通过process.exit()自动杀死自己”。

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

读物: