Jenkins:Nunit测试并没有出现在SonarQube中

时间:2017-02-08 08:20:25

标签: c# unit-testing jenkins sonarqube nunit

我们有一个C#解决方案,以及一个带有jenkins的CI解决方案。

每天晚上,jenkins清除工作区,获取最新版本,在调试中构建它,通过OpenCover运行测试。

我们有以下构建步骤(我之前没有提到这些步骤):

  1. SonarQube Begin
  2. 我们在jenkins做的第一件事就是用于MSBuild的SonarQube扫描仪 - 开始分析",我们指定项目键/名称和附加参数:

    /d:sonar.cs.nunit.reportsPaths="%CD%\TestResult.xml"
    /d:sonar.cs.opencover.reportsPaths="%CD%\opencover.xml"
    
    1. 构建
    2. 我们使用MSBUILD14在调试中构建或解决方案

      1. 通过OpenCover执行测试
      2. 我们使用openCover检查代码覆盖率并执行测试:

        "C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -filter:"+[*]* -[*.Test]*" -output:"%CD%\opencover.xml" -threshold:1 -register:User -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\MySolution.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2"
        exit 0
        
        1. SonarQube结束分析
        2. 这应该发布SonarQube结果的结果

          1. PostBuild:发布NUnit测试结果报告
          2. 我应该使用以下参数发布TestResult.xml的其他步骤:

            %CD%\TestResult.xml
            

            一旦整个工作完成,我就在静态分析结果中的sonarqube,但我不会有单元测试结果和代码覆盖率结果。

            我检查了日志,测试已经执行:

            Test Run Summary
              Overall result: Failed
              Test Count: 4331, Passed: 3819, Failed: 189, Warnings: 0, Inconclusive: 0, Skipped: 323
                Failed Tests - Failures: 39, Errors: 147, Invalid: 3
                Skipped Tests - Ignored: 323, Explicit: 0, Other: 0
              Start time: 2017-02-07 10:03:42Z
                End time: 2017-02-07 11:51:56Z
                Duration: 6494.182 seconds
            

            我只有一个奇怪的例外:

            An System.IO.DirectoryNotFoundException occured: Could not find a part of the path 'c:\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ActivationException.cs'. 
            An System.IO.DirectoryNotFoundException occured: Could not find a part of the path 'c:\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocator.cs'. 
            An System.IO.DirectoryNotFoundException occured: Could not find a part of the path 'c:\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocatorImplBase.cs'. 
            An System.IO.DirectoryNotFoundException occured: Could not find a part of the path 'c:\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\Properties\Resources.Designer.cs'. 
            

            在openCover步骤结束时会发生这种情况。仍然生成了2个XML文件,我在本地也有这个异常。

            我知道为什么我没有在sonarQube中获得代码覆盖/单元测试结果?

            谢谢!

0 个答案:

没有答案