7

Wir verwenden Scala + Maven + ScalaTest Läufer + Jenkins. Wir haben JUnit-Stil XML-Ausgabe geht hier vor:Wie zeigt man Ergebnisse von einzelnen Testdurchgängen in Jenkins?

test_dir/target/scalatest-reports/ 

Gerade jetzt können wir gesamte Build-Pass/Fail sehen, oder graben durch die ausführliche Konsolenausgabe sehen Test bestanden/nicht bestanden (nicht ideal), aber ich bin Sicher, es gibt einen besseren Weg.

Ich habe mehrere der versucht, Post-Build-Schritte wie:

  • Aggregate Downstream Testergebnisse
  • xUnit Prüfergebnisbericht

Veröffentlichen Aber kann eine Tabelle nicht erhalten Testergebnisse funktionieren.

Haben Sie irgendwelche Ideen? Vielen Dank.

Antwort

4

Sie sollten besser Ihre Symptome beschreiben. Der JUnit-ähnliche XML-Bericht ist die grundlegende Form des von Jenkins/Hudson unterstützten Testberichts, daher nehme ich an, dass das Problem relativ einfach ist. Bitte vergleichen Sie die Konfiguration mit dem folgenden Beispiel:


enter image description here


Ich würde vorschlagen, die folgenden:

  1. Überprüfen Sie Konfiguration (es ist wahrscheinlich, jenkins nicht in der Lage ist, das zu finden, ist Report-Datei)
  2. Blick über die Konsole ausgegeben, um sicherzustellen, gibt es keine Warnmeldung an XML-Repo bezogen ist Datei rt
  3. Überprüfen XML-Bericht
  4. Versuchen nicht leer und gültig ist JUnitReport tasks zu verwenden HTML-Formular
  5. Schließlich Schalter auf TestNG zu generieren, wenn Sie können
3

Es sind zwei Optionen:

  • ScalaTest können HTML-Berichte erstellen. Fügen Sie einfach

    (testOptions in Test) + = Tests.Argument (TestFrameworks.ScalaTest, "h", "target/scalatest-Bericht")

zu Ihrem 'build.sbt'. Wenn Sie "sbt test" ausführen, wird ein HTML-Bericht im Ordner "target/scalatest-report" generiert.

In Jenkins Sie die ‚Veröffentlichen HTML‘ Plugin diesen Bericht zu erfassen für einen Build verwenden können. Das Test-HTML steht dann für jeden Build und auch auf der Jobseite zur Verfügung.

  • ScalaTest generiert auch normale JUnit XML-Berichte im Ordner 'target/test-reports'. Die Jenkins Diese Berichte können mit dem erfasst werden ‚Publish JUnit XML Prüfbericht‘ Post-Build-Aktion, die standardmäßig in Jenkins verfügbar ist, denke ich.

Beide Lösungen geben einen Überblick über die Testergebnisse und sie können zusammen verwendet werden.

+0

ein netter Vorschlag, vor allem, wenn Sie ein Multi-Modul-Projekt haben. Wenn Sie HTML veröffentlichen verwenden, können Links zu den Testberichten aller Module angezeigt werden. –

+0

HTML veröffentlichen ist kein standardmäßiges Jenkins-Plugin. Es erfordert das HTML Publisher-Plugin. – not2savvy