webentwicklung-frage-antwort-db.com.de

Jenkins - fehlgeschlagen: Es wurden keine Testreportdateien gefunden. Konfigurationsfehler?

Ich bin Anfänger für "Jenkins" und folge diesem Tutorial .

Beim Sechster Schritt bin ich unter Fehler gekommen.

xcodebuild: Fehler: Schema JenkinsTest ist derzeit nicht für die Testaktion konfiguriert.

Build-Schritt 'Xcode', der als fehlerhaft markiert wurde Testergebnisse aufzeichnen FEHLER: Schritt "JUnit-Testergebnisbericht veröffentlichen" ist fehlgeschlagen: Es wurden keine Testberichtdateien gefunden. Konfigurationsfehler? Fertig: FEHLER

In den Testreport-XMLs habe ich "test-reports /.* xml" gesetzt.

Ich habe versucht, meine Lösung zu finden, und auch viele Fragen stützen sich auf SO das gleiche Problem habe ich auch aber keine Lösung gefunden.

Ich habe einige Verwirrung: Wird die XML-Datei automatisch von "Jenkins" generiert, oder müssen wir die XML-Datei manuell hinzufügen?

Kurz gesagt, führen Sie mich in die richtige Richtung, basierend auf dem obigen Fehler.

11
iPatel

Stellen Sie zunächst sicher, dass junit.xml nach dem Testlauf generiert wird.

Jenkins-Job kann manchmal nicht über den aktuellen Arbeitsbereich hinaus sehen. Daher ist es immer ratsam, die Berichte vor ihrer Verwendung in den aktuellen Arbeitsbereich zu kopieren.

    cd <path to report>
    cp *.xml $WORKSPACE

Jetzt sollten die Jenkins den Bericht abholen. Hinweis: In der Konfiguration wird möglicherweise zuerst ein Fehler angezeigt (da die XML-Datei nicht im Arbeitsbereich gefunden werden kann). Nach einem Build sollte dies jedoch verschwinden und das Ergebnis sollte aufgezeichnet werden 

6
Acid

Ich verwende Nosetest (Python), um eine mit xUnit kompatible Datei zu generieren.

ERROR: No test report files were found. Configuration error?

Ich habe junit plugin verwendet als:

junit "test-results-unit.xml"

junit scheint das WORKSPACE-Verzeichnis standardmäßig hinzuzufügen, sodass die Verwendung der vollständigen PATH-Datei für die Datei ebenfalls nicht funktioniert. Ich habe aus der resultierenden Datei einen Symlink mit dem WORKSPACE-Verzeichnis erstellt, damit es funktioniert:

  sh 'ln -s tests/test-results-unit.xml $WORKSPACE'
  junit "test-results-unit.xml"
1
alfredocambera

Sie können auch die Option 'allowEmptyResults' aktivieren, damit das junit-Plugin keine Ausnahme auslöst, wenn es keine Testergebnisse findet.

Auf diese Weise spielt es keine Rolle, ob das Verzeichnis 'Testergebnisse' vorhanden ist.

junit allowEmptyResults: true, testResults: '**/test-results/*.xml'
0
Jay P.

Andere Antworten schlagen vor, die Dateien in das Arbeitsbereichsverzeichnis zu kopieren, aber für mich schien es das Problem zu lösen, einfach den Pfad zu ändern und mit '**' zu beginnen

junit '**/test-reports/*.xml'

Auf der Seite Jenkins junit plugin page wird angegeben, dass Sie den Pfad zu JUnit-XML-Dateien in der Ant-Glob-Syntax angeben müssen. Ich habe nicht im Detail nachgeforscht, was dies bedeutet, aber es hat gereicht, den Pfad mit "**" zu beginnen, damit er für mich funktioniert.

0
ClemFandango

Danke @Acid, es hat mir sehr geholfen. Kopieren Sie zunächst das Modul/build/test-results in das Arbeitsbereichsverzeichnis

cp -r app/build/test-results $WORKSPACE/test-results

Und dann habe ich diesen Platzhalterpfad verwendet

**/test-results/**/*.xml
0
Pedro Romão