Я пытаюсь сгенерировать отчет о покрытии кода для наших сборок в 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"
},
, он запускает тесты, а затем выдает результаты покрытия кода.
Теперь, когда тот же код выполняется в jenkins, я получаю эту ошибку
/ var / lib / jenkins / jobs / api-ci -velop/workspace/back-end/node_modules/path-to-regexp/index.js:63 path = ('^' + path + (строго? '': path [path.length - 1] === '/'? '?': '/?')) ^
TypeError: Невозможно прочитать свойство 'length' с неопределенным значением в pathtoRegexp (/ var / lib / jenkins / jobs / api-ci -velop / workspace / back-end/node_modules/path-to-regexp/index.js:63:49) на новом уровне (/ var / lib / jenkins / jobs / api-ci -velop / рабочая область / 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?