2013-04-02 15 views
5

Ich habe versucht, einige automatisierte Unit Tests zu meinem Projekt mit Bamboo hinzuzufügen und habe einige Probleme bekommen. Die Komponententests selbst werden mit googletest durchgeführt, der eine XML-Datei erstellt, die mit dem JUnit-Parser kompatibel sein sollte.Bamboo's JUnit Parser analysiert meine gtest output.xml nicht

Allerdings bin ich die folgende Fehlermeldung erhalten, wenn Bamboo JUnit Parser ausführen:

02-Apr-2013 12:11:22 Starting task ''Parse UnitTest output' of type 'com.atlassian.bamboo.plugins.testresultparser:task.testresultparser.junit' 
02-Apr-2013 12:11:22 Parsing test results... 
02-Apr-2013 12:11:22 Failing task since test cases were expected but none were found. 
02-Apr-2013 12:11:22 Finished task 'Parse UnitTest output' 

Dies scheint nicht, etwas zu haben, mit der XML-Datei selbst zu tun, wie ich ein paar versucht haben, . Dies beinhaltete meine eigene Ausgabe.xml, generiert von googletest und die Beispielausgaben von https://confluence.atlassian.com/display/BAMBOO/JUnit+parsing+in+Bamboo.
Ich habe diese Dateien auch an die beiden vorgeschlagenen .xsd-Dateien angepasst, die mit der Ausgabe übereinstimmen sollten, die der JUnit-Parser erwartet, aber alles ohne Erfolg.

Update:
Bis jetzt sagte ich dem JUnit Parser für $ suchen {bamboo.build.working.directory} /output.xml
Als ich versuchte, **/* xml es funktionierte..
Wie ich es jetzt verstehe, nachdem ich die Aufgabenbeschreibung sehr sorgfältig gelesen habe, muss ich ihm einen Ordner geben. Aber ich kann ihm auch die Dateien geben, wenn ich es in ant-style (mit einem Glob?) Mache. Dies ist zumindest sehr verwirrend und beantwortet die ursprüngliche Frage immer noch nicht vollständig. Wenn also jemand mich aufklären könnte, bitte.

+0

Ich habe eine Supportanfrage für Bamboo gestellt. Ich habe auch das gleiche Problem https://jira.atlassian.com/browse/BAM-13082 – Tristans

+0

Tristans, habe ich seit eine Lösung gefunden, die zumindest für mich funktioniert. Sehen Sie das Update oben, vielleicht funktioniert es auch für Sie. – LarissaGodzilla

+0

Ich denke, Sie sollten einen relativen Pfad angeben: relativ zum aktuellen Build-Verzeichnis. $ {bamboo.build.working.directory} /output.xml ist absolut, nicht relativ. Kann das der Grund für dein Problem sein? Denken Sie auch daran, dass das Build-Verzeichnis zwischen den Jobs wechseln kann. – ynka

Antwort

0

Dies ist eine super alte Frage, ich dachte, ich würde eine Antwort für die Nachwelt hinzufügen. Wie wenige Leute kommentiert haben, erfordert der Konfigurationswert für Testausgabedateien einen relativen Pfad. Die Frage ist, relativ zu was?

Ich denke, die Antwort darauf hängt davon ab, wie Sie Ihre Quellrepositorys konfiguriert haben, aber im Allgemeinen wird es relativ zum Stamm Ihres Projekts sein. Wenn alles andere fehlschlägt, schau dir an, wo Bamboo deinen Quellcode ablegt, wenn er ausgecheckt wird; Das ist das Verzeichnis, an das bambo den Suchpfad für die Testausgabe anfügt.

Für die Konfigurationssyntax ist es richtig, dass ant-style-Muster verwendet werden können (Learning Ant path style als Referenz).

Nur als Beispiel, wenn Sie ein Projekt haben, die auf dem lokalen Computer an C:\git\MyProject lebt, und die Testergebnisse am Ende bei C:\git\MyProject\Output\Tests\output.xml, dann würden Sie Output/Tests/output.xml in dem Feld der entsprechenden angeben ‚custom Ergebnisse Verzeichnisse angeben‘ Aufgabenkonfiguration Sie können auch Output/**/*.xml verwenden, um nach allen XML-Dateien im Ausgabeverzeichnis zu suchen.