Спец. для вывода XML JUnit [закрыто]

84

Где я могу найти спецификацию вывода XML JUnit. Моя цель - написать XML-репортер UnitTest ++, который выводил бы выходные данные, подобные JUnit.

См .: « Невозможно заставить Hudson анализировать XML-код выходных данных теста JUnit » и « Hudson, C ++ и UnitTest ++ »

Гилад Наор
источник
Не могли бы вы предоставить дополнительную информацию, какой результат вы имеете в виду? Наверное, пример или инструкция как получить такой вывод? Благодаря!
guerda
Это для JUnit 4.x? Какой TestRunner вы используете?
guerda
если бы у вас было время написать XML-репортер для UnitTest ++, мне было бы интересно, можете ли вы им поделиться.
Винсент
21
Я удивлен, узнав, что поиск спецификации или стандарта «имеет тенденцию привлекать самоуверенные ответы ...». Я могу понять, почему обсуждение спецификации или стандарта может создать такие проблемы, но сама спецификация - это просто конкретный факт. Либо он существует, либо нет, и отвечающий либо знает, где он существует, либо нет. Учитывая важность спецификаций и стандартов в обеспечении взаимодействия современного программного обеспечения - самых сложных артефактов, которые когда-либо создавались людьми, - я думаю, что рекомендации SO следует изменить, чтобы разрешить вопросы такого типа.
Артур

Ответы:

50

Вы можете найти XSD на основе кода в Apache Ant 1.8.2 по адресу https://github.com/windyroad/JUnit-Schema

Том Ховард
источник
4
См. Мой комментарий на сайте windyroad.zendesk.com/entries/… о частях, отсутствующих в этом XSD.
Reinderien
в результате чего комментарий на месте, Reinderienвыяснилось , что они , кажется, не хватает: /testsuites/testsuite/@skipped, /testsuites/testsuite/testcase/skipped, /testsuites/testsuite/error, /testsuites/testsuite/failure, /testsuites/testsuite/system-err, после readthrough из XMLJUnitResultFormatter.java, XMLResultAggregator.java, XMLConstants.javaв svn.apache.org/repos/asf/ant/core/trunk/src/main/org/ apache /…
n611x007
1
@naxa, я считаю, что эти узлы были добавлены после Apache Ant 1.8.2. Я вспоминаю, что был очень тщательным в то время (еще в начале 2011 года). Я только что переместил XSD на github и переключил лицензию на Apache License версии 2.0. Не стесняйтесь форкнуть и обновить.
Том Ховард,
12

Выходные данные xml создаются не JUnit (по крайней мере, не junit.jar), а задачей junit ant.
Соответствующий класс - org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter .

Лоран Доре
источник
2
Это замечательно. Я бы хотел увидеть настоящую документацию или настоящую спецификацию, но в остальном нет ничего более авторитетного, чем источник.
Грег Прайс,
Для интерпретации этого источника также необходимо прочитать svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/… .
Reinderien
Также прочтите svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/…, поскольку это источник атрибутов пакета и идентификатора.
Reinderien
8

Я нашел неофициальные спецификации на http://ant.1045680.n5.nabble.com/schema-for-junit-xml-output-td1375274.html

HD.
источник
1
да, я тоже попал на эту страницу, но она не полная. расширяя RUnit (модульное тестирование для R), чтобы он производил выходные данные, совместимые с Hudson, я закончил тем, что создал один «набор тестов», там список «набор тестов» и все эти «наборы тестов». Я до сих пор не знаю, как отмечать деактивированные тесты.
mariotomo
6

Как уже упоминалось, xml обрабатывается ANT, а не jUnit

Вот лучшая спецификация, которую я видел. Из этого поста

дело Нельсон
источник
-5

Я могу дать вам только общую информацию.

In the sourcecode of JUnit, you will find your information. If you provide some more information, I can help you further. My personal hint for finding your specification would be junit.framework.TestResult.

Good luck!

guerda
источник
2
JUnit knows nothing at all about this format. It's generated by ant. It's a bit of a funny business.
Tom Anderson