I have a python project and a pipeline where I run tests and send info to sonarcloud. The issue is that Coverage gate includes my test folders which lowers the total value. How do I fix it?
My folder structure, I want only SonarTestProject/SonarTestProject
without SonarTestProject/SonarTestProject/tests
to be covered
How I generate my coverage report:
python -m pytest SonarTestProject\tests -m "%filter%" --junitxml=tests_results\test_results.xml --cov --cov-report=xml:tests_results\coverage.xml --cov-branch --suppress-tests-failed-exit-code || exit /B 2
My pipeline SonarCloud step:
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'SonarCloud - abc'
organization: 'abc-company'
scannerMode: CLI
configMode: manual
cliProjectKey: 'SonarTestProject-2023'
cliProjectName: 'SonarTestProject'
extraProperties: |
sonar.python.coverage.reportPaths=$(System.DefaultWorkingDirectory)/tests_results/coverage.xml
I tried combinations of the properties below from this link https://docs.sonarcloud.io/advanced-setup/analysis-scope/. I usually get can't be indexed twice
or it shows the same result or it's even worse like completely showing every gate as green.
sonar.sources =
sonar.tests =
sonar.test.inclusions =
sonar.exclusions =
Screenshots of my issue, I know for a fact that coverage should be around 65%:
Can you please test the following combination of settings and inform the result inside Sonar coverage report?
sonar.sources = SonarTestProject/
sonar.exclusions = SonarTestProject/SonarTestProject/tests/**/*.py
Parameters edited to the ones that worked.