我遇到VisualStudio CodeCoverage工具的问题。我在构建服务器上的Visual Studio Test任务期间生成codecoverage文件。比我有Sonar转轮任务并在这些任务* .codecoverage转换为* .codecoveragexml。而这些产生了错误的XML。在XML中,引用一个文件中没有现有行。错误是当文件有10行时引用第21行。 Sonnar在解析这些文件时遇到问题并崩溃。
有人知道如何生成正确的XML吗?
由于
文件内容
using System;
using SomeOtherNamespace;
namespace SomeNamespace
{
public class OrderChangedEventHandlerArgs : EventArgs
{
public OrderInfo Order { get; set; }
}
}
<function id="64864" token="0x60003c5" name="get_Order()" type_name="OrderChangedEventHandlerArgs" block_coverage="100.00" line_coverage="100.00" blocks_covered="1" blocks_not_covered="0" lines_covered="2" lines_partially_covered="0" lines_not_covered="0">
<ranges>
<range source_id="67" covered="yes" start_line="8" start_column="30" end_line="8" end_column="34" />
<range source_id="67" covered="yes" start_line="8" start_column="35" end_line="8" end_column="39" />
<range source_id="67" covered="yes" start_line="21" start_column="5" end_line="21" end_column="51" />
</ranges>
</function>
答案 0 :(得分:0)
检查下面页面上的说明,以获取在SonarQube中导入的Visual Studio代码覆盖率:http://docs.sonarqube.org/x/CoBh
.NET代码覆盖率分4步导入SonarQube:
运行MSBuild.SonarQube.Runner.exe开始命令,使用%install_ext https://raw.github.com/cpcloud/ipython-autotime/master/autotime.py
%load_ext autotime
语法指定代码覆盖率报告可用的绝对路径(&#34; propertyKey&#34;取决于代码覆盖工具)
使用MSBuild构建项目
运行代码覆盖率工具,指示它在MSBuild SonarQube Runner之前指定的同一位置生成报告
运行MSBuild.SonarQube.Runner.exe结束命令
答案 1 :(得分:0)
一种解决方案是在文件末尾添加空白行,并在错误出现时生成文件。这不是最佳解决方案,但它对我有用。