我遵循本指南在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那样退出