cobertura-maven-plugin schließt die Konfiguration aus

8

Ich habe ein Maven-Projekt mit einem Testfall DefaultViewTypeToFragmentMapperTest.java im Verzeichnis /src/test/java/test/com/mycompany/myproduct/android/viewtype2fragmentmapper/ .

Ich möchte, dass dieser Testfall von der Berechnung des Unit Test Coverage ausgeschlossen wird. Um dieses Ergebnis zu erreichen, habe ich das Plugin wie folgt konfiguriert:

%Vor%

Aber ich sehe immer noch die oben genannte Klasse in der Berichterstattung.

Wie kann ich es so beheben, dass der Testfall nicht im Bericht erscheint und seine Abdeckung (0% laut Bericht) nicht berücksichtigt wird?

    
DP_ 05.03.2013, 21:54
quelle

6 Antworten

8

Nach vielem Versuch und Versagen habe ich es funktioniert.

  1. Bearbeiten Sie die Pom.
  2. mvn clean test-compile
  3. mvn cobertura: cobertura
  4. Öffnen Sie die Seite erneut in Firefox. (Vergewissern Sie sich, dass die Seite nicht zwischengespeichert ist)

Ich habe es funktioniert mit:

%Vor%

Ändern Sie 'aaa' mit dem Beginn des Paketnamens, der ausgeschlossen werden soll. Ändern Sie "bbb" mit Ihrem Paketnamen, den Sie aus dem Bericht ausschließen möchten.

Ich hoffe, es hilft, Marc Andreu

    
marcandreuf 10.02.2014 15:57
quelle
6

Sie sollten das <ignore> -Tag verwenden.

%Vor%

<exclude> verwendet in <instrumentation> schließt einfach das Paket von dem was Sie instrumentieren aus. Was in diesem Fall nichts ist, weil du nichts tust.

Siehe die Mojo Maven Cobertura Plugin-Dokumentation hier .

    
ninnemannk 05.03.2013 22:01
quelle
5

Ist es ein Tippfehler?

<exclude>test/co/**/*.class</exclude> .

Das co sollte com sein.

BTW, <ignores> weist Cobertura an, alle Aufrufe von Methoden zu ignorieren, die mit dem regulären Ausdruck "Ignorieren" übereinstimmen. Es wird NICHT diese Klassen während der Instrumentierung überspringen. Um Klassen von der Instrumentierung auszuschließen, sollte <excludes> verwendet werden.

    
Lan 06.03.2013 03:15
quelle
4

Sie sollten die .class nicht wie im folgenden Beispiel anfügen

%Vor%

Ich hoffe, das kann helfen.

    
Charlee Chitsuk 06.03.2013 03:18
quelle
2

Ich habe gerade zwei Stunden meines Lebens damit verloren, dass ein Ausschluss von Cobertura ausgeschlossen wurde, aber es ist mir schließlich gelungen.

Die Lösung, die ich gefunden habe, ist, dass die Plugin-Konfiguration mit Instrumentation & amp; Der Ausschluss für das cobertura-maven-plugin MUSS im Kapitel build / plugins oder build / pluginManagement des pom sein, während dort auch im Berichtskapitel ein Verweis auf das cobertura-maven-plugin sein muss.

Der Haken dabei ist, dass Sie zunächst mit dem Definieren des Plugins im Reporting-Kapitel beginnen, da sonst kein Bericht generiert wird. Aber die Instrumentierung selbst nimmt keine Konfiguration von diesem Teil des Pom auf. Sie müssen das im Build-Kapitel definieren.

%Vor%     
BertKoor 15.03.2017 13:02
quelle
0

Zusätzlich zu BertKoor 's Antwort möchte ich darauf hinweisen, dass wenn Sie% co_de ausführen % oder mvn cobertura:cobertura direkt, Ihr Bericht enthält noch Abdeckung für alle instrumentierten Klassen in Ihrem Zielverzeichnis, wie berichtet hier !

Wenn dies der Fall ist, stellen Sie sicher, dass Sie mvn cobertura:cobertura-integration-test ausführen, um das Zielverzeichnis von einem vorherigen Build zu bereinigen, und dann Instrument und führen Sie Ihre Tests aus.

    
George Aristy 19.12.2017 15:27
quelle

Tags und Links