Анализ результатов теста Дженкинса

У меня есть Дженкинс с большим количеством рабочих мест. Эти задания выполняют тесты и выдают результаты тестов в XML. Эти результаты теста XML выглядят - довольно стандартно - примерно так:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="classname" name="testcasename">
      blabla
    </testcase>
  </testsuite>
</testsuites>

При использовании отчета о результатах теста публикации JUnit после сборки (который можно найти на странице конфигурации задания) структура опубликованных результатов сборки (в Jenkins) будет выглядеть следующим образом:

  1. <root> (заголовок: пакет)
  2. <classname> (заголовок: класс)
  3. <testcasename> (заголовок: название теста)

Здесь нет <testsuitesname> и нет <testsuitename> в этой иерархии, как в файлах XML.

Есть ли возможность либо:

  1. добавить <testsuitesname> а также <testsuitename> к иерархии в иерархии публикации результатов теста сборки Jenkins:

    1. (<root>)
    2. <testsuitesname>
    3. <testsuitename>
    4. <classname>
    5. <testclassname>

или же

  1. как-то добавить больше иерархии к <testcase> тег?

Исходная информация: Поскольку результаты моих тестов достаточно велики (большое количество), я хочу добавить к нему больше иерархии / структуры, а не просто два уровня (как сейчас), чтобы получить более полный обзор всех этих результатов.

Кто-нибудь может мне помочь или была похожая проблема?

Лучший

Энди

1 ответ

К сожалению, я не нашел простого ответа, чтобы изменить поведение Дженкинса при структурировании тестовой структуры по-другому. Тем не менее, я нашел улучшение в моем случае, которым я хочу поделиться.

Иерархия результатов теста в Jenkins следующая:

  1. пакет
  2. Учебный класс
  3. Название теста

Они могут быть определены в рамках <testcase>Отметьте как следующее:

<testcase classname="packagename.classname" name="testname">

Таким образом, в пределах "имени" вы можете определить последнюю часть иерархии - имя теста. Внутри "classname" вы можете определить первые две части иерархии - пакет и класс, разделенные точкой.

Имейте в виду, что допускается только одна точка. Невозможно создать более глубокую иерархию, просто добавив больше "разделенных частей" в тег имени класса, только добавив больше точек. Если точек больше, чем одна, учитывается последняя.

Итак, "полный" пример:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="packagename.classname" name="testname">
      blabla
    </testcase>
  </testsuite>
</testsuites>
Другие вопросы по тегам