Generieren von XML-Dateien, die von JUnit-Berichten verwendet werden

8

Ich möchte Testberichte erstellen, die PROGRAMMATISCH von JUnit / TestNG generiert wurden. Also, das schließt ANT aus. Mein Hauptanliegen ist es, XML-Dateien zu generieren, die von Junit während der Ausführung von Testfällen erstellt werden. Ich habe gelesen, dass RunListener mir helfen könnte, das zu erreichen, aber ich konnte nicht herausfinden, wie? Ich verwende Selenium, um meine Testfälle zu erstellen.

Wie kann ich XML-Dateien generieren, die von JUnit erstellt werden?

    
Aazim 30.01.2012, 10:26
quelle

3 Antworten

9

JUnit generiert keine XML-Berichte. Es gibt kein standardmäßiges XML-Ausgabeformat für JUnit.

Andere Tools erzeugen XML, wie Ant / Maven. Das erste, was Sie tun müssen, ist zu entscheiden, welche Form der XML-Datei Sie haben möchten, wie Sie es mit den Dateien machen möchten, sobald Sie sie erstellt haben.

Und tatsächlich, Ihre programmatische Einschränkung schließt ANT nicht aus. Sie können amt programmgesteuert aufrufen (siehe Ant aufrufen von Java, dann Rückkehr nach Java nach Ant Kündigung ). Dies wäre wahrscheinlich der einfachste Weg, um Dateien zu generieren, die ant-kompatibel sind.

Wenn Sie Ihre eigenen XML-Dateien erstellen möchten, können Sie eine Klasse erstellen, die RunListener und führen Sie dann Ihre Tests durch, indem Sie JUnitCore # run () oder ähnlich.

%Vor%

Ihr RunListener würde einfach das entsprechende XML ausgeben. Es ist ziemlich einfach zu verstehen: überschreiben Sie die Methoden testRunStarted () usw. und schreiben Sie das XML aus. Ein Beispiel dafür, wie es funktioniert, finden Sie unter TextListener , die das Gleiche tun, aber für Text.

    
Matthew Farwell 30.01.2012 11:47
quelle
4

xml-Dateien werden von ant-junit erzeugt, und wir können das per Programm machen, der Code wird wie folgt aussehen:

%Vor%     
freesky 23.02.2012 08:34
quelle
0

Sie haben fast das Gleiche gefragt hier Wenn Sie sich das TestNG-Dokument ansehen, können Sie Folgendes verwenden:

  

Die Schnittstelle org.testng.IReporter, die nur eine Methode hat:   public void generateReport (Liste suites, String outputDirectory)   Diese Methode wird von TestNG aufgerufen, wenn alle Suites ausgeführt wurden, und Sie können ihre Parameter überprüfen, um auf alle Informationen des gerade ausgeführten Laufs zuzugreifen.

    
Tarken 30.01.2012 12:14
quelle

Tags und Links