반응형

설명

  • javascript의 jest test 결과 및 커버리지를 sonarqube로 레포팅하는 예제
  • 사전에 javascript 코드와 jest test 코드가 있는 프로젝트가 세팅된 프로젝트에서 sonarqube를 연동하는 예제

모듈 설치

yarn add --dev jest-sonar-reporter sonarqube-scanner

package.json

{
    ...
    "scripts": {
        ...
        "test:coverage": "jest --coverage",
        "sonar": "node sonar-project.js",
        ...
    },
    ...
    "jest": {
        ...
        "testResultsProcessor": "jest-sonar-reporter"
        ...
    },
    "jestSonar": {
        "reportPath": "coverage",
        "reportFile": "cover.xml"
    }
    ...
}

sonar-project.js

const sonarqubeScanner = require('sonarqube-scanner');

sonarqubeScanner(
    {
        options: {
            'sonar.projectName': 'EXAM_PROJECT',
            'sonar.projectKey': 'EXAM_PROJECT',
            'sonar.host.url': 'http://192.168.0.100:9000',
            'sonar.login': '20d6fe35cb1c689e6f3fcb9a8957491726826fa5',
            'sonar.sources': 'src',
            'sonar.tests': 'src',
            'sonar.inclusions': '**',
            'sonar.test.inclusions': 'src/**/*.spec.js,src/**/*.spec.jsx,src/**/*.test.js,src/**/*.test.jsx',
            'sonar.javascript.lcov.reportPaths': 'coverage/lcov.info',
            'sonar.testExecutionReportPaths': 'coverage/cover.xml',
        },
    },
    () => process.exit(),
);

module.exports = sonarqubeScanner;

명령어 실행

yarn test:coverage
yarn sonar

참고

반응형

'Development > Sonarqube' 카테고리의 다른 글

[Sonarqube] Rest API  (0) 2020.12.30
[Sonarqube] 자바 프로젝트 연동  (0) 2020.12.30
[Sonarqube] 설치  (0) 2020.12.30

+ Recent posts