Hello everyone, I come here because I have been working on setting up SonarQube with my Angular application for over a week.
I use jest to test my code.
Currently my problem is that my code is tested well, I obtain relevant results except on one aspect.
SonarQube does not display unit test quantity.
Below is my jest.config.js
module.exports = {
verbose: false,
maxWorkers: 10,
transformIgnorePatterns: ['/node_modules/(?!(uuid|.*ol|.*quick-lru|.*akita|.*\\.mjs$))'],
moduleFileExtensions: ['js', 'json', 'ts'],
transform: {
'^.+\\.tsx?$': 'ts-jest'
},
testMatch: ['(**/*.spec.ts)'],
testRunner: 'jest-jasmine2',
testEnvironment: 'jsdom',
coverageDirectory: './coverage',
coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
collectCoverageFrom: [
"src/**/*.ts" // Adjust the pattern to match your project structure
],
// exclude files from coverage
coveragePathIgnorePatterns: [
"/node_modules/",
"/src/main.ts",
"/src/polyfills.ts",
"/src/environments/environment.ts",
"/src/environments/environment.prod.ts",
"/src/environments/environment.azure.ts",
"/src/app/app-routing.module.ts",
"/src/app/app.module.ts",
],
collectCoverage: true,
testResultsProcessor: "jest-sonar-reporter",
clearMocks: true
}
and below is my sonar-project.properties
sonar.projectKey=*******
sonar.organization=*******
sonar.projectName=*******
sonar.projectVersion=1.3.2
sonar.cpd.exclusions=src/app/login/**, src/app/register/**, src/app/dashboard-all-support/**, src/app/dashboard-all-users/**
sonar.sources=src/
sonar.tests=src/app
sonar.test.inclusions=**/*.spec.ts
sonar.exclusions=**/node_modules/**, main.ts, src/app/app.module.ts, polyfills.ts, src/main.ts, src/app/app-routing.module.ts, src/environments/environment.ts, src/environments/environment.azure.ts
sonar.typescript.lcov.reportPaths=./coverage/lcov.info
sonar.javascript.lcov.reportPaths=./coverage/lcov.info
sonar.testExecutionReportPaths=./test-report.xml
sonar.typescript.tsConfigPath=./tsconfig.json
sonar.host.url=*******