2015-10-19 60 views

回答

0

使用声纳亚军的是不再支持分析C#项目。事实上,通过MSBuild SonarQube Runner进行分析的质量会更高,因为它完全与MSBuild集成,并且了解项目的所有内容,同时也更容易设置,因为之前所需的大多数手动配置现在都是通过MSBuild获得的本身。

0

至少我设法使用声呐运行器进行分析。我认为MSBuild SonarQube Runner的新开始 - 构建 - 结束工作流程在使用Jenkins时有点复杂,并且至少有许多现有的脚本在使用。或者我无法得到它的工作,因为稍微面向TFS的文档也包含Visual Studio命令提示符。

我最终在密集的谷歌搜索之后,通过在Jenkins作业中定义Invoke独立SonarCube分析中的以下属性,使用Visual Studio Pro + Jenkins + OpenCover + Mstest + Nunit组合运行分析。我仍然不知道如何将集成测试与单元测试分开。它并没有说C#项目甚至支持这一点。

工作流程是我首先构建一切,然后运行OpenCover来收集覆盖范围的结果,然后调用跑步者。下面的属性当然也可以作为项目根文件夹中的文件,但在我最初的概念证明中,我将这些设置在Jenkins插件中。

sonar.projectName=projectname 
sonar.projectKey=key 
sonar.ProjectVersion=1.1 
sonar.visualstudio.enable=true 
sonar.language=cs 
sonar.sources=. 
sonar.dotnet.visualstudio.solution.file=code.sln 
#not sure if the line below is correct or relevant... 
sonar.dotnet.visualstudio.testProjectPattern=*Test 
#two frameworks producing tests. 
sonar.cs.vstest.reportsPaths=relativepath/results.trx 
sonar.cs.nunit.reportsPaths=relativepath/testresults.xml 
sonar.cs.opencover.reportsPaths=1.xml,2.xml