Хобрук: Ваш путь к мастерству в программировании

Отчет об испытаниях Junit Ant

Я использую Junit с Ant для создания отчета о тестировании в формате junit-noframes по умолчанию. Поскольку я тестирую несколько разных классов в одном пакете, я хотел бы увидеть статистику результатов тестирования для каждого класса. Кроме того, в отчете хочется выделить успешные тесты.

Я уже изучил файл xslt, который, возможно, позволяет частично решить первую проблему. Тем не менее в отчете о тестировании xml, созданном Junit, успешные кейсы уже перегруппированы. Как я могу на это повлиять? Можно ли изменить способ, которым Junit хранит информацию в xml testResult? Эти данные, касающиеся отдельных тестов, должны быть где-то, так как я ясно могу видеть их с помощью плагина Junit в Eclipse.

25.04.2013

  • Вместо того, чтобы изменять способ сбора информации junit, вы можете написать собственный репортер для синтаксического анализа и обработки файлов xml из junit. 25.04.2013
  • Мне жаль, что я недостаточно ясно понял. Проблема в том, что xml-файлы от junit уже содержат резюме нужной мне информации, а я хочу, чтобы они были необработанными. 25.04.2013
  • Я все еще не понимаю вопроса. Похоже, RunListener может помочь. junit.sourceforge.net/javadoc/org/junit/runner/ уведомление / 26.04.2013

Ответы:


1

Вы можете изменить файл xsl, чтобы добавить имя класса для каждой строки. У меня это сработало.

В junit-noframes.xsl добавьте 2 строки: 1 здесь:

...
<!-- method header -->
<xsl:template name="testcase.test.header">
    <tr valign="top">
        <!-- ### THIS LINE ADDED ### -->
        <th>Class</th>
        <!----------------------------->
        <th>Name</th>
        <th>Status</th>
        <th width="80%">Type</th>
        <th nowrap="nowrap">Time(s)</th>
    </tr>
</xsl:template>
...

и тут:

...
<xsl:template match="testcase" mode="print.test">
    <tr valign="top">
        <xsl:attribute name="class">
            <xsl:choose>
                <xsl:when test="failure | error">Error</xsl:when>
            </xsl:choose>
        </xsl:attribute>

        <!-- ### THIS LINE ADDED ### -->
        <td><xsl:value-of select="@classname"/></td>
        <!----------------------------->

        <td><xsl:value-of select="@name"/></td>
        <xsl:choose>
            <xsl:when test="failure">
                <td>Failure</td>
                <td><xsl:apply-templates select="failure"/></td>
            </xsl:when>
....

Не забудьте указать папку, в которой находится ваш измененный файл junit-noframes.xsl, установив свойство "styledir" (в файле build.xml).

...
<report todir="${build.test.resultshtml.dir}"
                format="noframes" 
                styledir="${build.resources.dir}"
        />
...

В новом столбце будет отображаться название класса в отчете.

щелкните, чтобы увидеть изображение ...

23.04.2020
Новые материалы

Прогресс в технологии Трансформеров часть 3
Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

Приключения в Javascript, часть 1
Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

Понимание дженериков в TypeScript: подробное руководство
Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..