我们正在使用InspectCode- Resharper插件生成C#代码分析报告和Opencover for Code覆盖率报告(单元测试用例)。
这两个命令在Teamcity中一个接一个地运行。当我们生成Resharper分析报告并推送到声纳qube时,我们会松开代码覆盖率报告。
问题是如何将两个命令合并到一个脚本中或合并两个命令的输出。
这些是我们执行的命令。
OpenCover命令:
getItemViewType(),
InspectCode Comamnd
@Override
public int getItemViewType(int position) {
// Just as an example, return 0 or 2 depending on position
// Note that unlike in ListView adapters, types don't have to be contiguous
return position % 2 * 2;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case 0: return new ViewHolder0(...);
case 2: return new ViewHolder2(...);
...
}
最终解决方案:
F:\BuildSystem\Dependencies\Sonar\OpenCover\4.5.3522\OpenCover.Console.exe -register:user -target:F:\BuildSystem\Dependencies\NUnit\nunit-console-x86.exe -targetargs:"F:\Builds\Sonar\Helix_Sonar_EsdPaymentsBpay\UnitTests\bin\Debug\DummyProject.UnitTests.dll /noshadow" -excludebyattribute:"*.ExcludeFromCodeCoverage*|*.GeneratedCode*" -filter:"+[DummyProject*]* +[App.*]* -[*Tests*]*" -hideskipped:All -mergebyhash -output:coverage-report.xml
答案 0 :(得分:2)
您需要将OpenCover输出文件上传到声纳,例如
/d:sonar.cs.opencover.reportsPaths="coverage-report.xml"