SonarQube:不显示nUnit的结果

时间:2016-07-22 07:47:49

标签: jenkins sonarqube nunit opencover sonarqube-scan

我正在使用SonarQube和Jenkins。在Jenkins,我用nUnit检查单元测试,用opencover检查覆盖率。 opencover的报告显示在Sonar中,但是nunit的报告却没有。单元测试计数甚至没有显示在项目的主页中。

以下是我的工作:

  1. 使用MSBuild构建我的VisualStudio项目
  2. 使用批处理命令行运行nunit和opencover
  3. 运行SonarQube扫描仪的分析
  4. 打包项目
  5. 第2步的命令行:

    MKDIR "%WORKSPACE%\reports"
    MKDIR "%WORKSPACE%\reports-history"
    
    SET COV_PTH="D:\Programmes\opencover.4.5.3522"
    SET TOOL_PATH="D:\Programmes\NUnit-2.6.4"
    SET RPT_PATH="D:\Programmes\ReportGenerator"
    
    copy src\Foo.Bar.Tests\app.config build\Foo.Bar.Tests.dll.config
    
    %COV_PTH%\OpenCover.Console.exe "-filter:+[Foo.Bar*]* -[Foo.Bar.Tests]* -[Foo.Bar.Service]* -[Foo.Bar.Domain]* -[Foo.Bar.Dal]Foo.Bar.Dal.Dao.* -[Foo.Bar.Controller]Foo.Bar.Controller.*Comparer -[Foo.Bar.Controller]Foo.Bar.Controller.External.*" -register "-target:%TOOL_PATH%\bin\nunit-console.exe" -targetargs:"build\Foo.Bar.Tests.dll /noshadow /result=reports\TestResult.xml" -output:reports\opencovertests.xml
    
    %RPT_PATH%\ReportGenerator.exe "-reports:reports\opencovertests.xml" "-targetdir:reports-ReportGenerator" "-historydir:reports-history"
    

    第3步的参数:

    sonar.projectKey=FooBar
    sonar.projectName=FooBar
    sonar.projectVersion=%SVN_REVISION%
    sonar.sources=src/Foo.Bar.Controller, src/Foo.Bar.Dal, src/Foo.Bar.Domain, src/Foo.Bar.Fichier, src/Foo.Bar.Generation, src/Foo.Bar.Reporting, src/Foo.Bar.Service, src/Foo.Bar.Web
    sonar.binaries=Build/Foo.Bar.Controller.dll, Build/Foo.Bar.Dal.dll, Build/Foo.Bar.Domain.dll, Build/Foo.Bar.Service.dll, Build/Foo.Bar.Fichier.exe, Build/Foo.Bar.Generation.exe, Build/Foo.Bar.Reporting.exe
    sonar.tests=src/Foo.Bar.Tests
    sonar.cs.opencover.reportsPaths=reports/opencovertests.xml
    sonar.cs.nunit.reportsPaths=reports/TestResult.xml
    

    修改

    我也尝试了以下过程(结果相同):

    1. 准备SonarQube扫描仪的分析
    2. 使用MSBuild构建我的VisualStudio项目
    3. 使用批处理命令行运行nunit和opencover
    4. 结束SonarQube扫描仪的分析
    5. 打包项目
    6. 结束编辑

      nUnit的报告在workspace / reports / TestResult.xml中生成。

      我通过命令行和jenkins的sonarqube插件测试了分析生成。我得到了相同的结果。

      你能看到什么问题吗?

      我可以查看SonarQube的日志吗?

      我正在使用Jenkins 2.10,MSBuild 12,SonarQube 5.6,SonarsQube扫描仪用于Jenkins插件2.4.3,opencover 4.5和nunit 2.6.4

      修改

      我更新了我的配置:Jenkins 2.18,MSBuild 14,用于Jenkins插件2.4.4的SonarQube扫描程序。相同的结果。

      结束编辑

1 个答案:

答案 0 :(得分:2)

看看:SonarQube documentation: Unit Test Execution Results Import (C#, VB.NET)

它说:

  

不支持向下钻取测试执行结果

我的理解是你只能看到结果(测试通过次数,错误等),但不能看到测试中的详细信息。

您还会询问有关日志的信息。你有: