2014-10-20 121 views
3

环境:Windows 7 | SonarQube 4.4 | SonarRunner 2.4 | .NET(C#)| Visual Studio Professional 2013代码覆盖率和单元测试成功值在SonarQube 4.4仪表板中不显示

我一直在使用Sonar 3.2 & SonarRunner 2.0。代码覆盖率和单元测试成功值在Sonar仪表板中显示。

使用相同的配置集,当我升级到SonarQube 4.4 & SonarRunner 2.4时,代码覆盖率和单元测试成功值不会显示在SonarQube 4.4仪表板中。

声纳项目属性:

# Project identification 
sonar.projectKey=LLTest_Sonar_Report 
sonar.projectVersion=1.0 
sonar.projectName=LLTest 

# Info required for Sonar 
sonar.sources=. 
sonar.language=cs 
sonar.sourceEncoding=UTF-8 

sonar.visualstudio.enable=true 

#Code Coverage 
sonar.cs.opencover.reportPaths=coverage.xml 
#sonar.cs.vstest.reportsPaths=results.trx 

#Core C# Settings 
sonar.dotnet.visualstudio.solution.file=LLTest.sln 
sonar.silverlight.4.mscorlib.location=C:/Program Files/Reference Assemblies/Microsoft/Framework/Silverlight/v4.0 
sonar.dotnet.excludeGeneratedCode=true 
sonar.dotnet.4.0.sdk.directory=C:/Windows/Microsoft.NET/Framework/v4.0.30319 
sonar.dotnet.version=4.0 

# To prevent any issues while analyzing multiple solutions containing projects with similar keys 
# Will be set by default to safe starting at version 2.2: http://jira.codehaus.org/browse/SONARDOTNT-339 
#sonar.dotnet.key.generation.strategy=safe 

#Gendarme 
sonar.gendarme.mode= 

# Gallio/Unit Tests 

sonar.gallio.installDirectory=C:/Program Files/Gallio 

sonar.gallio.coverage.tool=OpenCover 
sonar.opencover.installDirectory=C:/Program Files/OpenCover/ 

#sonar.opencover.mode=reusereport 
#sonar.cs.vstest.reportsPaths=TestResult.trx 

sonar.dotnet.visualstudio.testProjectPattern=*.Tests;*.UnitTests 
sonar.dotnet.test.assemblies=C:/Users/kprasad/Documents/Visual Studio 2013/Projects/LLTest/LLTest.Tests/bin/Debug/LLTest.Tests.dll 

sonar.gallio.mode=reusereport 
sonar.gallio.reports.path=gallio-report.xml 
sonar.gallio.coverage.reports.path=coverage-report.xml 

sonar.stylecop.projectFilePath=C:/Users/kprasad/Documents/Visual Studio 2013/Projects/LLTest/LLTest/LLTest.csproj 
sonar.stylecop.installDirectory=C:/Program Files/StyleCop 4.7 
sonar.resharper.projectName=LLTest 
sonar.resharper.solutionFile=LLTest.sln 
sonar.cs.fxcop.fxCopCmdPath=C:/Program Files/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe 
sonar.cs.fxcop.assembly=C:/Users/kprasad/Documents/Visual Studio 2013/Projects/LLTest/LLTest.Tests/bin/Debug/LLTest.Tests.dll 

# FXCop 
#sonar.fxcop.mode=reusereport 

# StyleCop 
#sonar.stylecop.mode=reusereport 

# NDeps 
#sonar.ndeps.mode=reusereport 

得知道,我们需要得到覆盖XML文件通过批处理文件生成,使用,我们可以看到在SonarQube仪表板覆盖效果。

我无法打通其中包含以下批处理文件生成的覆盖XML文件:

cd C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LNTest“C:\Program Files\Microsoft Visual Studio 12.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe” collect /output:VisualStudio1.coverage “C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe” “C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LNTest\LNTest.Tests\bin\Debug\LNTest.Tests.dll”“C:\Program Files\Microsoft Visual Studio 12.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe” analyze /output:VisualStudio.coveragexml VisualStudio.coverage pause 

请这方面的帮助。让我们知道是否需要其他细节,谢谢。

问候, KP

回答

1

我们这些批处理文件行获得开盖结果文件:

set Configuration=debug 
set MSTest=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe 
call "%~dp0packages\OpenCover.4.5.2506\OpenCover.Console.exe" -register:user -target:"%MSTest%" -targetargs:"/resultsfile:Project.Name.Tests.trx /noisolation /testcontainer:%~dp0Project.Name.Tests\bin\%Configuration%\Project.Name.Tests.dll" -filter:+[Project.Name]* -output:"%~dp0results.xml" 
+0

'%Configuration%'变量来自哪里? “Project.Name”参数是用于过滤一个占位符,我应该用一个实际值替换它,还是它是一个字面值? – 2014-12-30 19:38:23

+0

已更新批示例。配置是调试或发布。是的,您需要将示例中的Project.Name替换为您自己的项目名称。 – Boltyk 2015-01-01 02:34:16

0

后你得到的覆盖率结果,你将能够generaqte所要求的XML文件声纳使用的代码覆盖率工具,而不是使用收集修改,使用分析:

“C:\Program Files\Microsoft Visual Studio 12.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe” analyze /output:VisualStudio1.coverageXml VisualStudio1.coverage 

但诀窍是在另一个使用步骤,不在脚本的同一行

相关问题