2016-04-15 2 views
2

У меня проблема с инструментом VisualStudio CodeCoverage. Я создаю файл codecoverage во время задачи Visual Studio Test на сервере сборки. Чем я выполняю задачу Sonar runner и в рамках этой задачи * .codecoverage был преобразован в * .codecoveragexml. И они производят неправильный XML. В XML есть ссылка на ни одну существующую строку в одном файле. Неправильно ссылается на строку 21, когда файл имеет 10 строк. И у Sonnar есть проблемы с этим и сбой при анализе этих файлов.Неверное создание codecoverage xml

Может ли кто-нибудь знать, как сгенерировать правильный XML?

Благодарность

File Content

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

Проверить инструкции на странице ниже, чтобы получить Визуальную покрытие Студии коды импортируемую в SonarQube: http://docs.sonarqube.org/x/CoBh

.NET Покрытие кода импортируется в SonarQube в 4 этапах:

  1. Запустите MSBuild.SonarQube.Runner.exe начать команду, указав абсолютный путь, где отчет покрытия кода будет доступен с помощью синтаксиса /d:propertyKey=path («propertyKey» зависит от инструмента покрытия кода)

  2. Создайте свой проект с использованием MSBuild

  3. Запустите инструмент покрытия кода, поручив его подготовить отчет в том же месте, указанном ранее в MSBuild SonarQube Runner

  4. Run конец команды MSBuild.SonarQube.Runner.exe

+0

Я знаю это, но изначально он не вызван мной, а агентом от TFS 2015 Update 1 OnPremise. Я добавляю задачу для Sonar к двум моим проектам в одном, все отлично работает, но во втором я получаю сообщение от Sonar runner о обработке codecoverage с большим количеством строк, чем файл. – McMlok

0

Одним из решений является добавление пустых строк в конец файла и создание файла до тех пор, пока ошибка говорит об ошибке. Это не лучшее решение, но оно работает для меня.

Смежные вопросы