0

我有一个使用工作服的 NPM 包。我的百分比是 85%,我可以看到最后 15% 与以下函数有关:

function _typeof(obj) {
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
    _typeof = function (obj) {
      return typeof obj;
    };
  } else {
    _typeof = function (obj) {
      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
    };
  }

  return _typeof(obj);
}

我假设这个函数是由 Rollup 生成的,因为它不在我的 src 文件中。

我是否必须为我自己没有编写的“生成”代码编写测试?或者有什么方法可以忽略这个函数。

测试命令:istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage

4

1 回答 1

1

我会提出以下建议。

  • 您可以删除删除目录的最后部分./coverage
  • 看看函数是否_typeof出现在那里,实际上是路径。
  • -x执行istanbul任务时忽略带参数的文件

如果这不起作用(您无法_typeof通过查看覆盖率报告找到该功能),您可以尝试以下操作:

  • 更新到更新版本的汇总(也许这是一个已经修复的问题)
  • 按照他们在此处的建议更改 babel 配置以区分构建和测试运行
  • 共享项目的链接,以便人们可以更仔细地查看问题所在,以及哪个文件是目标文件。
于 2019-09-05T09:50:43.687 回答