1

我正在尝试为我们在 Jenkins 中的构建生成代码覆盖率报告 - 当我执行命令时在本地

npm run coverage 
  "scripts": {
    "test": "cross-env mocha test -t 5000 --recursive --exit --reporter mochawesome",
    "coverage":"nyc --reporter=html --reporter=text ./node_modules/.bin/mocha test -t 5000 --recursive --exit"
  },

它将运行测试,然后给我代码覆盖率结果

在此处输入图像描述

现在,当在詹金斯中运行相同的代码时,我得到了这个错误

/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/path-to-regexp/index.js:63 path = ('^' + path + (strict ?'' : path [path.length - 1] === '/' ? '?' : '/?')) ^

类型错误:无法读取 pathtoRegexp 处未定义的属性“长度”(/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/path-to-regexp/index.js:63:49)在新层(/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/express/lib/router/layer.js:45:17)

显然正在对 node_module 文件夹做一些事情,我不知道如何避免这种情况。我排除了 nyc 配置中的文件夹和文件

  "nyc": {
    "branches": 5,
    "lines": 25,
    "functions": 13,
    "statements": 25,
    "check-coverage": true,
    "exclude": [
      "**/services/plaidService.js",
      "**/node_modules/**",
      "**/node_modules/plaid/lib/PlaidClient.js"
    ]
  },

我应该怎么做才能避免检查 node_modules 文件夹?

4

0 回答 0