Анализ результатов теста Дженкинса
У меня есть Дженкинс с большим количеством рабочих мест. Эти задания выполняют тесты и выдают результаты тестов в XML. Эти результаты теста XML выглядят - довольно стандартно - примерно так:
<testsuites name="testsuitesname">
<testsuite name="testsuitename">
<testcase classname="classname" name="testcasename">
blabla
</testcase>
</testsuite>
</testsuites>
При использовании отчета о результатах теста публикации JUnit после сборки (который можно найти на странице конфигурации задания) структура опубликованных результатов сборки (в Jenkins) будет выглядеть следующим образом:
<root>
(заголовок: пакет)<classname>
(заголовок: класс)<testcasename>
(заголовок: название теста)
Здесь нет <testsuitesname>
и нет <testsuitename>
в этой иерархии, как в файлах XML.
Есть ли возможность либо:
добавить
<testsuitesname>
а также<testsuitename>
к иерархии в иерархии публикации результатов теста сборки Jenkins:- (
<root>
) <testsuitesname>
<testsuitename>
<classname>
<testclassname>
- (
или же
- как-то добавить больше иерархии к
<testcase>
тег?
Исходная информация: Поскольку результаты моих тестов достаточно велики (большое количество), я хочу добавить к нему больше иерархии / структуры, а не просто два уровня (как сейчас), чтобы получить более полный обзор всех этих результатов.
Кто-нибудь может мне помочь или была похожая проблема?
Лучший
Энди
1 ответ
К сожалению, я не нашел простого ответа, чтобы изменить поведение Дженкинса при структурировании тестовой структуры по-другому. Тем не менее, я нашел улучшение в моем случае, которым я хочу поделиться.
Иерархия результатов теста в Jenkins следующая:
- пакет
- Учебный класс
- Название теста
Они могут быть определены в рамках <testcase>
Отметьте как следующее:
<testcase classname="packagename.classname" name="testname">
Таким образом, в пределах "имени" вы можете определить последнюю часть иерархии - имя теста. Внутри "classname" вы можете определить первые две части иерархии - пакет и класс, разделенные точкой.
Имейте в виду, что допускается только одна точка. Невозможно создать более глубокую иерархию, просто добавив больше "разделенных частей" в тег имени класса, только добавив больше точек. Если точек больше, чем одна, учитывается последняя.
Итак, "полный" пример:
<testsuites name="testsuitesname">
<testsuite name="testsuitename">
<testcase classname="packagename.classname" name="testname">
blabla
</testcase>
</testsuite>
</testsuites>