How to make dotCover play nice with SonarQube?

Hi All,

I am using TeamCity 8.0.4 and SonarQube 4.3

I am trying to get test coverage results in SonarQube for a C# project.

TeamCity runs dotCover analysis as part of MSTest build step.

The code coverage summary appears in the TeamCity build overview, but I'm not sure how to transmit this data to Sonar

The Sonar C# plugin accept the parameter:  


(see here: http://docs.codehaus.org/display/SONAR/C%23+Plugin under the code coverage section)

but I can see in the logs that the dotCover report is saved to a temporary location (D:\TeamCity\BuildAgent1\temp\buildTmp):

[JetBrains dotCover] Coverage session finished [15/06/2014 12:22:14]
[JetBrains dotCover] Coverage results post-processing started [15/06/2014 12:22:14]
[JetBrains dotCover] Coverage results post-processing finished [15/06/2014 12:22:15]
##teamcity[importData id='mstest' file='D:\TeamCity\BuildAgent1\temp\buildTmp\tmp623A.tmp.teamcity.trx']
##teamcity[importData type='dotNetCoverage' tool='dotcover' file='D:\TeamCity\BuildAgent1\temp\buildTmp\coverage_dotcover3838966080337633281.data']
Importing data from 'D:\TeamCity\BuildAgent1\temp\buildTmp\tmp623A.tmp.teamcity.trx' (21.94 KB) with 'mstest' processor
MSTest report watcher
[MSTest report watcher] Watching paths:
[MSTest report watcher] D:\TeamCity\BuildAgent1\temp\buildTmp\tmp623A.tmp.teamcity.trx

I think this is the reason SonarQube shows no results available for unit test coverage.
In SonarQube, other data is shown, just the unit tests coverage results are missing.
Does anyone know if I can pass a parameter to dotCover so it saves the coverage report somewhere Sonar can find instead of a temporary location?



Please sign in to leave a comment.