使用 Mocha 的 WebStorm 中的覆盖范围不起作用
Coverage in WebStorm with Mocha doesn't work
我按照本指南将覆盖率报告集成到 WebStorm 中。
https://www.jetbrains.com/help/webstorm/mocha.html
当我单击 "Run Mocha test with coverage" 时,覆盖范围 window 在 运行 测试后显示。但我没有看到任何报道。它甚至不显示 0%,它在统计数据列中根本不显示任何数字。
如有任何帮助,我们将不胜感激。
更多背景:
- WebStorm 2017.2.3
- 我指的是 package.json
中的 Mocha v3.2.0
- 代码是用ES2015写的
- mocha 运行 配置使用这些环境变量
BABEL_ENV=test and these extra mocha options: --compilers
js:babel-core/register
提前致谢
更多信息:当我 运行 覆盖 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
在项目根目录中添加名为 .nycrc 的文件,内容如下:
{ "exclude": [] }
这会覆盖 nyc
默认配置并恢复 win。
在我的例子中,我遇到了这个问题,因为 mocha 没有正常退出。由于覆盖率报告似乎是在程序退出时生成的,因此从未生成过。
Mocha 4 尤其改变了 Mocha 3 的行为 "no longer automatically kill itself via process.exit() when it thinks it should be done running".
但是您可以使用 --exit
选项强制执行旧行为。
更好的选择可能是检查是什么阻止您的程序终止并执行干净关闭。 (也许在 wtfnode 的帮助下)
读数:
我按照本指南将覆盖率报告集成到 WebStorm 中。
https://www.jetbrains.com/help/webstorm/mocha.html
当我单击 "Run Mocha test with coverage" 时,覆盖范围 window 在 运行 测试后显示。但我没有看到任何报道。它甚至不显示 0%,它在统计数据列中根本不显示任何数字。
如有任何帮助,我们将不胜感激。
更多背景:
- WebStorm 2017.2.3
- 我指的是 package.json 中的 Mocha v3.2.0
- 代码是用ES2015写的
- mocha 运行 配置使用这些环境变量
BABEL_ENV=test and these extra mocha options: --compilers js:babel-core/register
提前致谢
更多信息:当我 运行 覆盖 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
在项目根目录中添加名为 .nycrc 的文件,内容如下:
{ "exclude": [] }
这会覆盖 nyc
默认配置并恢复 win。
在我的例子中,我遇到了这个问题,因为 mocha 没有正常退出。由于覆盖率报告似乎是在程序退出时生成的,因此从未生成过。
Mocha 4 尤其改变了 Mocha 3 的行为 "no longer automatically kill itself via process.exit() when it thinks it should be done running".
但是您可以使用 --exit
选项强制执行旧行为。
更好的选择可能是检查是什么阻止您的程序终止并执行干净关闭。 (也许在 wtfnode 的帮助下)
读数: