SonarQube中未显示单元测试

时间:2016-06-24 15:50:41

标签: jenkins sonarqube nunit opencover

使用Jenkins我试图将Nunit任务和OpenCover任务的结果传递给SonarQube。

SonarQube正确显示测试覆盖率,但没有单位测试结果的痕迹。

以下是我的工作:

  1. 使用MSBuild构建Visual Studio项目
  2. 通过nunit打开的批量窗口
  3. 启动SonarQube扫描仪 部署批处理窗口
  4. 以下是Sonar Scanner任务的实际属性:

    sonar.projectKey=FC
    sonar.projectName=FC
    sonar.projectVersion=%SVN_REVISION%
    sonar.sources=src
    sonar.binaries=build
    sonar.exclusions=src/FC.Test/**/*.*
    sonar.tests=src/FC.Test
    sonar.cs.nunit.reportsPaths=TestResult.xml
    sonar.cs.opencover.reportsPaths=reports/opencovertests.xml
    

    我正在使用SonarQube 5.6,Jenkins 2.10,SonarQube插件2.4.3,OpenCover 4.5和Nunit 2.6.4

    是否存在任何已知问题(兼容性问题......)?

    请注意,我尝试使用Prepare和Terminate Sonar分析任务包装我的过程,但系统地删除了覆盖面板。所以我删除了它。

    2017年编辑

    我停止这样做了。我知道这样做的好方法是使用SonarQube Scanner for MSBuild,它集成在Jenkins的插件中。 覆盖面板未显示,因为我没有正确配置我的质量配置文件。

    但是...

    我仍然没有在声纳中测试结果。

    我检查了报告的绝对路径以及sonarQube的解析:“INFO: Sensor C# Unit Test Results Import [csharp] (done) | time=25ms”。我也试过一个.nunit文件。我看到应用过滤器对opencover有帮助,所以我做了。

    你有线索吗?

1 个答案:

答案 0 :(得分:2)

扫描C#项目需要使用Sonar扫描仪进行MSBuild,并按照特定的3个步骤进行操作,我想您现在还没有完成。请参阅有关3个步骤流程的文档:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuildhttp://docs.sonarqube.org/display/SCAN/From+Jenkins

您的属性看起来正确。但它们不会在声纳属性文件中提供,而是在 MSBuild.SonarQube.Runner.exe开始步骤的命令行参数中提供,例如:

MSBuild.SonarQube.Runner.exe begin <allMandatoryParameters> /d:sonar.cs.nunit.reportsPaths=TestResult.xml /d:sonar.cs.opencover.reportsPaths=reports\opencovertests.xml

奥利弗