Я настроил dotCover
для запуска с нашего сервера GitLab CI. Он правильно запускает тесты, выдает требуемый вывод, а CI настроен для хранения вывода HTML-кода покрытия в артефактах GitLab. Это работает безупречно.
Что я пытаюсь сделать, так это прочитать общий вывод покрытия от средства запуска консоли dotCover.exe и проанализировать его в gitlab CI. Я прочитал документацию dotCover, но не нашел способа вывести строку содержащий покрытие для консоли. Gitlab CI может только считывать значения покрытия из sdout задания ci, сопоставляя его с настраиваемым регулярным выражением.
Это мой config.xml
:
<?xml version="1.0" encoding="utf-8"?>
<AnalyseParams>
<TargetExecutable>C:\NUnit\nunit3-console.exe</TargetExecutable>
<TargetArguments>--agents=1 MyDll.Spec.dll MyDll2.Spec.dll</TargetArguments>
<Output>cover/AppCoverageReport.html</Output>
<ReportType>html</ReportType>
<Scope>
<ScopeEntry>MyApp\bin\x86\Release\net461\MyApp.*.dll</ScopeEntry>
<ScopeEntry>MyApp\bin\x86\Release\net461\*.exe</ScopeEntry>
</Scope>
<Filters>
<ExcludeFilters>
<FilterEntry>
<ModuleMask>*.Spec</ModuleMask>
</FilterEntry>
</ExcludeFilters>
</Filters>
</AnalyseParams>
и я запускаю его с помощью .gitlab-ci.yml:
C:\dotCover\dotCover.exe analyse config.xml /TargetWorkingDir=.
Есть ли способ просмотреть это значение в GitLab CI? Я упускаю что-то очевидное?
Спасибо
xmllint
(под Linux). Я настоятельно рекомендую избегать регулярных выражений, когда дело касается xml / html. - person Yan Foto   schedule 06.08.2017/= \[\["Total",\d+\.?\d+/
, но мне это решение совсем не нравится. Я попробую использовать более качественный инструмент синтаксического анализа,dotCover
только для Windows. - person aghidini   schedule 06.08.2017