EDIT. Эта проблема была устранена google в gtest 1.4.0; см. исходный отчет об ошибке для получения дополнительной информации.
Недавно я переключился на gtest для моей платформы тестирования С++, и одна из замечательных особенностей, которую я сейчас не могу использовать, - это возможность генерировать отчеты теста XML в стиле JUnit, которые затем могут быть прочитаны нашим hudson построить сервер.
Выход XML, созданный набором тестов gtest, выглядит законным:
<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="370" failures="0" disabled="0" errors="0" time="45.61" name="AllTests">
<testsuite name="application" tests="7" failures="0" disabled="0" errors="0" time="8.953">
<testcase name="zero_tasks_on_bootup" status="run" time="0" classname="application" />
...etc.
</testsuite>
</testsuite>
Я также попытался добавить задачу JUnitReport в мою конструкцию ant build script, которая отлично работает и генерирует XML следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="370" failures="0" disabled="0" errors="0" time="45.61" name="AllTests">
<testsuite name="application" tests="7" failures="0" disabled="0" errors="0" time="8.953">
<testcase name="zero_tasks_on_bootup" status="run" time="0" classname="application" />
...etc.
</testsuite>
</testsuite>
Проблема заключается в том, что всякий раз, когда я сообщаю ant публиковать результаты теста JUnit, а затем указывать его либо на исходный XML-результат теста, либо на скомпилированный результат, сгенерированный в задаче ant JUnitReport, хадсон всегда жалуется на поиск нет результатов тестов.
Я не парень из java, поэтому я не могу сказать, что происходит здесь, и я не могу найти пример того, как должен выглядеть JUnit XML. Может кто-нибудь помочь указать мне в правильном направлении?