2016-05-19 13 views
3

Ich betreibe sowohl eclemma als auch die Testabdeckung in meinem Projekt. Ich bemerkte eine komische Sache, dass ich in der Lage bin, mit Hilfe von Eclemma korrekte Ergebnisse zu erhalten, aber die Ergebnisse von Sonar sind anders und decken nicht einen Teil des Codes ab, der von den Testfällen abgedeckt wird.Testabdeckung Eclemma vs Sonar

Warum unterscheiden sich die Ergebnisse beider Tools?

+1

Was ist Ihre Sonarkonfiguration? Verwenden Sie JaCoCo auch in Sonar? Wie bauen Sie Ihre Projekte? Haben Sie sichergestellt, dass alle Tests während der Sonar-Coverage-Messung durchgeführt werden? Sonar kann auch ein anderes Coverage-Tool verwenden - zum Beispiel Cobetura. – SpaceTrucker

Antwort

0

Out-of-the-Box-Sonar unterstützt Jacoco (eingebettet in die neuesten Versionen von eclEmma) und die Cobertura-Engine, um die Codeabdeckung durch Komponententests wie eclEmma zu melden. Normalerweise sollten sie die gleichen Ergebnisse ausgeben. Meine Vermutung ist, dass Sie keine korrekte Konfiguration in Ihrer Sonar-Konfiguration haben und einige Tests nicht ausgeführt werden, so wäre es nett, wenn Sie es einfügen, so dass wir einen Blick darauf werfen können.

0

Die in der SonarQube-Schnittstelle berechnete und angezeigte Überdeckungsmetrik berücksichtigt auch nicht aufgedeckte Verzweigungen. Wenn Sie in Eclemma nur die nicht abgedeckten Linien betrachten, erhalten Sie ein anderes Ergebnis.