Я использую SonarQube 6.5 и пытаюсь импортировать файл lcov.info для покрытия кода, используя свойство sonar.javascript.lcov.reportPaths.
Моя сборка выполняется с использованием Jenkins. код развертывается и тестируется в каталоге /path/to/Deploydirectory/parent-project1/project1/, а отчеты создаются в рабочем пространстве jenkins /path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage.
Я использую Стамбул для покрытия кода как
"scripts": {
"coverage": "./node_modules/.bin/istanbul cover
node_modules/mocha/bin/_mocha --dir=/path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage"
},
lcov.info генерируются, как показано ниже
TN:
SF:/path/to/Deploydirectory/project1/package/plugins/file1.js
FN:11,convetUTCtoLocal
FN:17,customCallback
FN:26,(anonymous_3)
FN:50,(anonymous_4)
FN:68,(anonymous_5)
FN:95,(anonymous_6)
......
При получении ошибки SonarQube
Не удалось разрешить 2 пути к файлам в [/path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage/lcov.info, /path/to/jenkins/workspace/BUILD_DEPLOY/parent-project2/project2/coverage/ lcov.info], первый неразрешенный путь: /path/to/Deploydirectory/parent-project1/project1/file1.js
конфигурация sonrQube
sonar.inclusions=**/*.js
sonar.scm.disabled=true
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
sonar.projectBaseDir=/path/to
sonar.javascript.lcov.reportPaths=
/path/to/jenkins/workspace/BUILD_DEPLOY/parent-
project1/project1/coverage/lcov.info,
/path/to/jenkins/workspace/BUILD_DEPLOY/parent-
project2/project2/coverage/lcov.info
sonar.sourceEncoding=UTF-8