2013-12-18 10 views
10

Ich versuche, Zweigabdeckung von Komponententests für eine große Grails-Anwendung zu messen. Ich bin mit JaCoCo, Emma und IDEA die Metriken von innen IntelliJ zu sammeln, erhalte ich die folgende:Zweigabdeckung mit JaCoCo, Emma von IntelliJ

  • JaCoCo (keine Messwerte werden auch für Zeilenabdeckung gezeigt)
  • Emma (produziert Verfahren und Zeilenabdeckung)
  • IDEA (produziert Klasse, Methode und Zeilenabdeckung)

ich meist in JaCoCo interessiert bin, wie es mir Zweigüberdeckung von Standard geben sollte. Könnte mir jemand auf einige Tipps hinweisen, wie man das Problem beheben kann?

+0

Ich habe eine ähnliche Frage, aber mir geht es um die Generierung von Branch Coverage-Daten von IDEA Coverage Runner. Haben Sie eine Lösung gefunden, um das zu tun? – yaobin

+0

@yaobin: _Die IntelliJ IDEA-Coverage-Engine unterstützt derzeit Klassen-, Methoden- und Leitungsabdeckung. Es gibt noch keine Branch/Block-Abdeckung. (Ref: https://confluence.jetbrains.com/display/TCD9/IntelliJ+IDEA) – kevinarpe

+0

Tatsächlich gibt es einen visuellen Indikator für die Zweigabdeckung innerhalb des linken Gutters im Editor. "Die gelbe Markierung zeigt an, dass die Zeile teilweise ausgeführt wurde, zB wenn nur eine Bedingung aus der if-Anweisung geprüft wurde" (ref: http://blog.jetbrains.com/idea/2006/07/code-coverage /) –

Antwort

8

Tatsächlich unterstützt das IntelliJ Code Coverage Tool die Zweigabdeckung, obwohl es die Ergebnisse in der Zusammenfassung nicht anzeigt. Überprüfen Sie diesen Artikel, um zu sehen, wie es konfiguriert werden kann und wie Sie Ihre Filialabdeckung überprüfen können: https://confluence.jetbrains.com/display/IDEADEV/IDEA+Coverage+Runner Der Schlüssel ist, Tracing anstelle von Sampling zu verwenden.

+0

Beachten Sie, dass Tracing nur mit Intellij als Runner verfügbar ist. – ChiefTwoPencils

Verwandte Themen