2009-07-08 12 views
8

Ich habe ein Maven2-Projekt in Hudson und wenn das Cobertura Reporting-Plugin ausgeführt wird, verursacht es die Unit-Tests zu zeigen, dass sie zweimal ausgeführt haben. Es macht mir nichts aus, wenn sie mehrere Male ausgeführt werden, aber die Trendgrafik zeigt doppelt so viele Tests wie wir tatsächlich laufen. Gibt es eine Möglichkeit sicherzustellen, dass das Diagramm sie nur einmal anzeigt? vor kurzemDoppeleinheit Test Reporting mit Hudson und Maven

Dank,

Jeff

+1

es stellt sich heraus, Das ist nur ein Problem, wenn man ein maven2-Projekt und kein Freestyle-Projekt verwendet –

+0

Immer noch nicht auf Hudson gelöst :-(http://issues.hudson-ci.org/browse/HUDSON-1557 –

Antwort

4

Dies ist ein known Bug. Warte nur darauf, dass es repariert wird.

+0

Die neue URL dieser Ausgabe ist http://issues.hudson-ci.org/browse/HUDSON-2068 und auch diese verwandte/dup: http://issues.hudson-ci.org/browse/HUDSON-1557 – djb

+0

Auch nicht gelöst in jenkins, https://issues.jenkins-ci.org/browse/JENKINS-2068 –

0

Ich hatte das gleiche Problem, wenn ich wurde Maven Ziele Testundemma läuft: emma auf den gleichen Job. Emma scheint alle Tests wiederholt zu haben und verdoppelte damit die Ergebnisse. Als ich das Ziel Test entfernte, wurden meine Komponententests noch ausgeführt, aber die Testergebnisse gingen wieder normal zurück. Könnte mit cobertura gleich sein.

+0

Das würde wahrscheinlich funktionieren, aber das wird Ergebnis ist, dass nur die instrumentierten Komponententests ausgeführt werden. Der Build sollte sowohl instrumentierte als auch nicht instrumentierte laufen. Ich fand, dass der Wechsel zu einem freien Projekt (obwohl ich einige der Vorteile des maven2-Projekts verloren habe) viel besser funktioniert Trenddiagramme zeigen sich als prope Rly und Tests werden nicht doppelt gezählt (obwohl sie zweimal ausgeführt werden). –

1

Die Problemumgehung, die ich verwende (funktioniert in Hudson 1.391), ist die Konfiguration von cobertura in einem separaten Maven-Profil und die Ausführung in einem Hudson-Job als Post-Build-Schritt.

Modus detaillierte Anweisungen:

  1. Add cobertura zu einem Projekt pom in einem speziellen Profil (so wird es nicht, während Standard-Lebenszyklus ausgeführt werden) und konfigurieren Sie es Bericht im XML-Format zu erstellen.
  2. Install "Hudson M2 zusätzliche Schritte Plugin"
  3. Konfigurieren Sie Ihren Hudson Job als Maven 2 Projekt
  4. In Ihrer Job-Konfiguration im Abschnitt "Build" übliche sauber/install konfigurieren Ziele
  5. In "Umwelt Bauen" -Abschnitt Wählen Sie "Configure M2 Extra Build Steps" und fügen Sie den Post-Build-Schritt von Maven hinzu. Konfigurieren Sie es laufen "cobertura: cobertura -P your_cobertura_profile_name"
  6. In "Post-build Aktionen" die Option "Publish Cobertura Coverage Report" und die richtige XML-Berichtsmuster konfigurieren (Standard sollte gut funktionieren)