Я работаю над конвейером в 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