Как правильно отобразить покрытие кода cobertura для каждого класса в devops - PullRequest
0 голосов
/ 16 января 2019

Я работаю над конвейером в Azure Devops, где мы используем юнит-тесты.

Поскольку мы используем OpenEdge (а лицензия sonarqube довольно дорогая), я написал свой собственный анализатор для файла профилировщика. Он считает (соответствующие) строки в нашем исходном коде и анализирует строки, запущенные во время тестов, из файла профилировщика. Он рассчитывает это число соответствующим образом (поэтому я думаю, что проблема может заключаться в том, как я создаю файл cobertura.xml).

Затем я создаю Cobertura xml в соответствии с этой структурой:

<coverage timestamp version complexity branches-valid branches-covered lines-valid lines-covered branch-rate line-rate>
<packages>
<package complexity branch-rate line-rate name>
    <classes>
        <class complexity branch-rate line-rate name file-name>
            <methods>
                <method branch-rate line-rate name signature>
                    <lines>
                        <line branch hits number>
                        </line>
                    </lines>
                </method>
            </methods>
            <lines>
                <line branch hits number>
                </line>
            </lines>
        </class>
    </classes>
</package>
</packages>
</coverage>

При использовании этого синтаксиса общее покрытие кода отображается на вкладке сводки сборки. Теперь я хотел бы видеть покрытие для каждого класса (или файла в нашем случае) (в конечном итоге также покрытие кода для процедуры, которое теперь уже заполнено в разделе) на вкладке «Покрытие кода» внутри сборки.

Возможно ли сделать это таким образом (я полагаю, что задача "Опубликовать покрытие кода" в конвейере должна проанализировать файл Cobertura и соответственно отобразить его содержимое ...)?

Или я здесь совершаю фундаментальную ошибку?

Спасибо заранее, Jacco

1 Ответ

0 голосов
/ 27 февраля 2019

Я делал то же самое на GitHub здесь: abl-profiler-converter

Я получаю отчет, передавая вывод Cobertura xml в задачу генератора отчетов, такую ​​как эта: ReportGenerator

...