我有一个关于C#项目的Atlassian Bamboo计划。配置的任务如下:
a) MSBuild任务,以生成我的C#解决方案文件。b) NUnit Runner和NUnit Parser任务来运行单元测试。c) OpenCover任务执行NUnit单元测试并生成指标,如覆盖的行数、分支覆盖率等。d) SonarQube Runner任务生成SonarQobe项目的代码覆盖率度量。
在步骤c)中成功生成度量,并将结果作为OpenCover命令的输出写入.xml文件。但在步骤d)之后,SonarQube runner成功执行,并显示了Sonar项目的单元测试数、通过的测试数、跳过的测试数和失败的测试数。但是"代码覆盖率"列显示为"-"空白。
请注意,我的C#解决方案是多个项目,并且我在根(解决方案)级别有sonar-project.properties文件。我使用以下Sonar-project.properties文件:
sonar.projectKey=<KeyName> (Key name of C# project in SonarQube)
sonar.projectName=<ProjectName> (Project name in SonarQube)
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=cs
sonar.cs.nunit.reportsPaths=ABC.xml(Output of Nunit task)
sonar.cs.opencover.reportsPath=XYZ.xml(Output of OpenCover task)
请在这方面指导我,任何帮助都将不胜感激。
感谢
答案很晚,但它可能会在未来对某人有所帮助:
您在行中拼错了reportsPaths
sonar.cs.opencover.reportsPath=XYZ.xml