Как я могу сгенерировать отчет HTML для результатов gtest (файлы XML)? - PullRequest
4 голосов
/ 06 декабря 2011

Я пытался использовать junitreport , но содержимое XML-файла недостаточно распознано.


@ dmeister

http://code.google.com/p/googletest/issues/detail?id=114

[...] Google Test был разработан для соответствия нашим внутренним инструментам, которые ожидают, что XML-отчет будет соответствовать формату тех, которые созданы Ant-задачей «junit», в которой «testsuite» является корневым элементом.[...]

Вот что генерирует gtest (1.6.0):

<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="1" failures="0" disabled="0" errors="0" time="0" name="AllTests">
    <testsuite name="SimpleTest" tests="1" failures="0" disabled="0" errors="0" time="0">
        <testcase name="Test_1" status="run" time="0" classname="SimpleTest" />
    </testsuite>
</testsuites>

Это сообщение об ошибке, возвращаемое junitreport:

SimpleTest.xml не является допустимым XML-документом testsuite

Ответы [ 2 ]

4 голосов
/ 11 февраля 2016

Я сделал это для себя с Python 2. *: https://github.com/burlachenkok/gtest_report

Также этот gtest_report поддерживает сравнение 2 или более результатов теста Google.Если честно, это была главная цель.

3 голосов
/ 12 декабря 2011

junitreport ожидает файл с testsuite в качестве корневого элемента. Затем объединяет несколько файлов с корневым элементом testsuite в один отчет.

Вы можете написать небольшой вспомогательный скрипт для разделения XML-файлов gtest на один файл для каждого тега testsuite. А затем подать эти файлы в отчет Junit.

Отчеты jenkins junit также принимают объединенные тестовые файлы с testsuites в качестве корневого элемента. Таким образом, он принимает файлы, сгенерированные gtest напрямую.

...