【问题标题】:Istanbul coverage with mocha test cases only showing coverage report for spec files (test files)伊斯坦布尔覆盖与 mocha 测试用例仅显示规范文件(测试文件)的覆盖率报告
【发布时间】:2018-12-21 17:52:02
【问题描述】:
伊斯坦布尔覆盖率报告仅显示规范文件的覆盖率报告,即测试文件,而不是原始路由器和控制器文件。
它显示规范文件的覆盖率为 100%,路由器文件的覆盖率为 0%。
我使用的命令是 npm test:
"test": "NODE_ENV=development istanbul cover --include-all-sources --root ./server ./node_modules/.bin/_mocha -- --compilers js:babel-core/register --recursive './server/**/**/**/*-spec.js'"
以下是伊斯坦布尔报道的 html 文件截图
【问题讨论】:
标签:
javascript
node.js
mocha.js
code-coverage
istanbul
【解决方案1】:
我设法让它为我工作,也许你可以选择我的一些配置并将它们应用到你的环境中
-
我当前的包版本
"@babel/core": "^7.0.0",
"@babel/register": "^7.0.0",
"babel-plugin-istanbul": "^5.0.1",
"chai": "^4.1.2",
"mocha": "^5.2.0",
"nyc": "^13.0.1"
-
更新/创建您的 .babelrc 添加伊斯坦布尔插件
{
“插件”:[“伊斯坦布尔”]
}
-
为伊斯坦布尔创建一个配置文件:.nycrc 并粘贴此配置
{ "要求": ["@babel/register"],
"排除": ["**/*.{test,spec}.js"],
“全部”:是的,
“仪器”:假}
更多选项可以查看官方nyc repository
- 然后运行测试
./node_modules/.bin/nyc mocha **/*.{test,spec}.js
或
npx nyc mocha **/*.{test,spec}.js