使用摩卡的WebStorm中的报道不起作用



我遵循本指南在WebStorm中集成了覆盖率报告。

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

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

任何帮助都将不胜感激。

更多背景:

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

BABEL_ENV=测试和这些额外的mocha选项:--编译器js:babel核心/寄存器

提前感谢

更多信息:当我在WebStorm中运行覆盖率时,我看到这个命令被输出到控制台:

/Users/nikolaschou/.nvm/v8.1.2/bin/node/Users/Nikolashou/Dev/dsg/bifrostshop/node_modules/nyc/bin/nyc.js--reporter=lcovonly--extension=.ts--extension=.js--exclude=test/unitmocha//.spec.yhw0000gn/T/mocha intellij覆盖范围-/Users/nikolaschou/Dev/dsg/bifrostshop/node_modules/mocha/bin_mocha--编译器js:babel-core/register--ui bdd--报告器"/Applications/WebStorm 2.app/Contents/plugins/NodeJS/js/mocha-intellij/lib/mocha-IntellijReporter.js"--递归/Users/nikolas chou/Dev/dsg/bifrostshop/test/unitmocha

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

{ "exclude": [] }

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

在我的案例中,我遇到了这个问题,因为mocha没有正确退出。由于覆盖率报告似乎是在程序退出时生成的,因此它们从未生成。

Mocha 4特别改变了Mocha 3的行为,因为它"不再自动通过process.exit()杀死自己,当它认为应该运行"。

但是,您可以使用--exit选项强制执行旧行为。更好的选择可能是检查是什么阻止程序终止并执行完全关闭。(例如,可能借助wtfnode)

读数:

  • Mocha不会强行退出
  • 摩卡4不像摩卡3那样退出

最新更新