Spec. dla JUnit XML Output [zamknięte]


84

Gdzie mogę znaleźć specyfikację danych wyjściowych XML JUnit. Moim celem jest napisanie raportującego XML UnitTest ++, który wygenerowałby dane wyjściowe podobne do JUnit.

Zobacz: „ Nie można zmusić hudsona do przeanalizowania wyniku XML wyjściowego testu JUnit ” i „ Hudson, C ++ i UnitTest ++


Czy mógłbyś podać więcej informacji, które wyjście masz na myśli? Prawdopodobnie przykład lub instrukcja jak uzyskać taki wynik? Dzięki!
guerda

Czy to dla JUnit 4.x? Którego TestRunnera używasz?
guerda

gdybyś miał czas napisać raport XML dla UnitTest ++, byłbym zainteresowany, gdybyś mógł się nim podzielić.
Vincent

21
Jestem zaskoczony, słysząc, że poszukiwanie specyfikacji lub standardu „ma tendencję do przyciągania upartych odpowiedzi ...”. Rozumiem, dlaczego dyskusja na temat specyfikacji lub normy stwarzałaby takie problemy, ale sama specyfikacja jest po prostu konkretnym faktem. Albo istnieje, albo nie, a odpowiadający albo wie, gdzie istnieje, albo nie. Biorąc pod uwagę znaczenie specyfikacji i standardów pomagających nowoczesnemu oprogramowaniu - najbardziej złożonym artefaktom, jakie ludzie kiedykolwiek zbudowali - we współdziałaniu, myślę, że wytyczne SO powinny zostać zmienione, aby umożliwić tego typu pytania.
Arthur

Odpowiedzi:


50

Możesz znaleźć XSD na podstawie kodu w Apache Ant 1.8.2 na https://github.com/windyroad/JUnit-Schema


4
Zobacz mój komentarz na windyroad.zendesk.com/entries/ ... brakujące elementy w tym pliku XSD.
Reinderien

przynosząc komentarz na miejscu Reinderienokazało się, że są to wydaje się, że brakuje: /testsuites/testsuite/@skipped, /testsuites/testsuite/testcase/skipped, /testsuites/testsuite/error, /testsuites/testsuite/failure, /testsuites/testsuite/system-err, po nadczytany z XMLJUnitResultFormatter.java, XMLResultAggregator.java, XMLConstants.javaw svn.apache.org/repos/asf/ant/core/trunk/src/main/org/ apache /…
n611x007

1
@naxa, uważam, że te węzły zostały dodane po Apache Ant 1.8.2. Pamiętam, że byłem wtedy bardzo dokładny (na początku 2011 roku). Właśnie przeniosłem XSD do github i zmieniłem licencję na licencję Apache w wersji 2.0. Zapraszam do rozwidlenia i aktualizacji.
Tom Howard,

12

Dane wyjściowe XML nie są generowane przez JUnit (przynajmniej nie przez junit.jar), ale przez zadanie junit ant.
Odpowiednia klasa to org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter .


2
To jest świetne. Chciałbym zobaczyć prawdziwą dokumentację lub prawdziwą specyfikację, ale poza tym nie ma nic bardziej autorytatywnego niż źródło.
Greg Price,

Interpretacja tego źródła wymaga również przeczytania svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/… .
Reinderien

Przeczytaj również svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/…, ponieważ jest to źródło pakietu i atrybutów identyfikatora.
Reinderien

8

1
tak, wylądowałem na tej stronie, ale nie jest kompletna. rozszerzając RUnit (testy jednostkowe dla R) tak, aby generował dane wyjściowe kompatybilne z Hudsonem, skończyło się na stworzeniu jednego „zestawu testowego”, tam jest lista „zestawu testowego”, a we wszystkich „przypadkach testowych”. Nadal nie wiem, jak oznaczyć nieaktywne testy.
mariotomo


-5

Mogę podać tylko ogólne informacje.

W kodzie źródłowym JUnit znajdziesz swoje informacje. Jeśli podasz więcej informacji, pomogę Ci dalej. Moja osobista wskazówka dotycząca znalezienia specyfikacji będzie następująca junit.framework.TestResult.

Powodzenia!


2
JUnit nic nie wie o tym formacie. Jest generowany przez mrówkę. To trochę zabawny interes.
Tom Anderson,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.