Ich versuche Jenkins xUnit Plug-in für mein Qt Unit-Test-Projekt zu verwenden, aber ich kann es nicht machen ...Zeigte das Ergebnis QTestlib mit Jenkins xUnit Plug-in
Hier ist, was ich bisher getan:
zunächst einmal baue ich mein Unit-Test-Projekt mit qmakebuilder Plug-in (den .pro zum qmakebuilder Plug-in bereitstellt), dann füge ich einen Execute Shell
Build Abschnitt , wo ich zum ersten Mal rm -f
des Testurteil XML-Datei, im Anschluss daran, führe ich die Test-Binärdatei mit -xunitxml
Flag, damit es die XML-Datei für mich generiert Und ich benenne die XML-Datei testResult.xml
, mit anderen Worten:
rm -f /home/guest/QT/unitTest/testResult.xml
cd /home/guest/QT/unitTest
./tst_unittesttest -xunitxml > testResult.xml
schließlich in Post Build-Aktion, wähle ich Publish xUnit test result
und das Muster als *.xml
angeben.
den Job Gebäude wird jedoch fehlschlagen, Hier ist die Ausgabe, die ich erhalte, wenn die Arbeit mit Jenkins Aufbau:
[xUnit] [INFO] - Starting to record.
[xUnit] [INFO] - Processing QTestlib-Version N/A
[xUnit] [INFO] - [QTestlib-Version N/A] - 1 test report file(s) were found with
the pattern '*.xml' relative to '/home/guest/QT/unitTest' for the testing framework
'QTestlib-Version N/A'.
[xUnit] [ERROR] - The converted file for the result file '/home/guest/QT/unitTest
/testResult.xml' (during conversion process for the metric 'QTestlib') is not
valid.
The report file has been skipped.
[xUnit] [ERROR] - The plugin hasn't been performed correctly: hudson.util.IOException2:
Failed to read /home/guest/QT/unitTest/generatedJUnitFiles/QTestlib/TEST--735044756.xml
Build step 'Publish xUnit test result report' changed build result to FAILURE
Build step 'Publish xUnit test result report' marked build as failure
Finished: FAILURE
Wie kann man dort sehen, ist Problem mein Testergebnis XML-Datei zu dem, was xUnit Plug- Umwandlung in kann lesen. Meine testResult.xml Datei sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="2" failures="0" tests="4" name="UnitTestTest">
<properties>
<property value="4.7.4" name="QTestVersion"/>
<property value="4.7.4" name="QtVersion"/>
</properties>
<testcase result="pass" name="initTestCase">
<!-- message="called before everything else" type="qdebug" -->
</testcase>
<testcase result="pass" name="myFirstTest"/>
<testcase result="pass" name="mySecondTest"/>
<testcase result="pass" name="cleanupTestCase">
<!-- message="called after myFirstTest and mySecondTest" type="qdebug" -->
</testcase>
<system-err>
<![CDATA[called before everything else]]>
<![CDATA[called after myFirstTest and mySecondTest]]>
</system-err>
</testsuite>
aber TEST--735044756.xml
ist eine Zeile XML-Datei: <?xml version="1.0" encoding="UTF-8"?>
Wer hat eine Ahnung, wo bin ich, was falsch? Es sollte ein Problem beim Generieren der XML-Ausgabedatei geben.
Auf einer anderen Anmerkung, ich habe die Protokoll thingi in das System einloggen Jenkins-Menü hinzugefügt, es ist nicht der Grund für dieses Problem aber zu sein scheint ... zumindest IMO
Ich denke, es hängt von dem Format ab, das Sie in der Konfiguration des xUnit-Plugins auswählen. Das Format "QTestLib-Version N/A" (das in Version 1.50 des Plugins hinzugefügt wurde) erwartet das '-xml' Format von QTestLib. – Ignitor