2016-04-04 10 views
2

Ich kann einen Bericht über meine Tests mit jacoco in meiner Android-Anwendung erhalten, weil es so einfach ist, die Aufgabe "createDebugCoverageReport" auszuführen. Aber ich muss einige Klassen von der Jacoco-Analyse ausschließen, um meine Berichterstattung zu verbessern. Ich habe einige Antworten gefunden, die viel googeln, aber alle betreffen Einheitstests. Jemand kann mir helfen?Klassen in Espressotests mit jacoco ausschließen

+0

haben Sie Ihr Problem gelöst? –

+1

Ja. Ich musste eine andere Gradle-Aufgabe erstellen. Ich folgte diesem Leitfaden https://medium.com/@rafael_toledo/setting-up-an-unified-coverage-report-in-android-with-jacoco-robolectric-and-espresso-ffe239aaf3fa#.butp8u2iq Ich hoffe, das kann jemandem helfen. –

+0

Es sieht so aus, als ob ich etwas anderes brauche. Hier ist meine Frage: http://stackoverflow.com/q/37284978/1065835 –

Antwort

0

Sie haben nicht viele Einsichten in Ihre Frage aufgenommen. Basierend auf dem, was Sie geschrieben haben, kann ich das ausarbeiten:

Sie haben eine Menge Antworten zu Komponententests gefunden, weil jacoco mit allen Tests in ähnlicher Weise arbeitet. Was Sie tun müssen, ist die gleichen Linien zu folgen:
Jacoco kümmert sich um Ihre Tests zu betrachten. Normalerweise würden Sie den Test mit der @Test-Anmerkung annotieren. Stellen Sie sicher, dass Sie für Ihr tun, und diejenigen, die Sie ausschließen müssen fügen Sie sie in einem solchen Tag (wenn Sie Maven verwenden):

<configuration> 
    <excludes> 
     <exclude>**/*Config.*</exclude> 
     <exclude>**/*Dev.*</exclude> 
    </excludes> 
</configuration> 

Wenn Sie gradle verwenden, sehen Sie this article statt.

+0

Ich benutze Gradle. Ich muss Tests nicht ausschließen, sondern Code, der analysiert wird, um einen Bericht auszudrucken. Ich habe keinen Code gepostet, da es keinen relevanten Code zum Anzeigen gibt. Mein Ziel ist es, den Codeabdeckungsprozentsatz zu verbessern. Was ich jetzt aus einer schlechten Analyse herausgeholt habe: jacoco analysiert Klassen, die für Testzwecke nicht wichtig sind. Ich schaute auch auf diese Antwort, aber ich kann nicht auf diese Weise beheben, da ich keine Aufgabe erstellte Bericht zu erstellen. Ich verwende die Aufgabe "createDebugCoverageReport" und kann sie nicht wie in dieser Antwort vorgeschlagen anpassen –

+0

Der analysierte Code basiert auf Ihren Tests. Um die Codeabdeckung zu verbessern, müssen Sie einen zusätzlichen Test erstellen, der den gesamten Code, den Sie für die Produktion geschrieben haben, erreichen kann. Wenn Sie an einigen Überprüfungen nicht interessiert sind, stellen Sie sicher, dass Sie sie in Ihrer grdle Konfigurationsdatei ausschließen. – LoreV

+0

Nein. Es berücksichtigt auch Klassen, die von anderen Diensten erstellt wurden (z. B. die von Protocol Buffers erstellte Message.java-Klasse). Ich muss dies und vielleicht andere Klassen aus der Jacoco-Analyse ausschließen. –