2012-10-01 7 views
6

Gibt es ein Tool ähnlich wie emma, das meldet, wobei Test eine bestimmte Implementierung abdeckt?Java-Testabdeckung: Wer deckt was?

+0

Ich würde einen Debugger verwenden, um die Codezeile zu unterbrechen und Ihre Tests auszuführen, um zu sehen, welcher Test ausgeführt wird, dann trifft er auf diese Codezeile. –

+0

1.500.000 LOC, 50-70% aggregierte Testabdeckung (itest + unittest). versucht derzeit, die Testabdeckung eines Moduls mit 30.000 LOC zu erhöhen/zu verstehen. Ich brauche einen guten Bericht, nicht einzelne manuelle Versuche ... – Bastl

+0

Können Sie Testgruppen gleichzeitig ausführen und den Bericht für diese Gruppe untersuchen? –

Antwort

6

Falls Sie sehen möchten, die Abdeckung prüft die Codezeile, können Sie Clover verwenden, die Sie zeigt:

  • wie oft eine Zeile
  • bedeckt wurde, die in Frage bedeckt Leitungsprüfungen

Um zu sehen, was man von Clover erwarten kann, hier ein Screenshot: Clover coverage report. Opened info about test that hit line #49

0

Wenn Sie nicht möchten, nicht stören zahlt/Einrichtung Cover, eine viel einfachere Weise ist:

  • Entfernen/deaktivieren Sie alle Haltepunkte
  • setzen einen Haltepunkt auf die Zeile, die Sie festlegen, welche die wissen Tests es
  • Wieder die Tests im Debug-Modus
  • Blick auf die Stacktrace für den Test zu finden, es

Diese Methoden können Sie auch anrufen um zu sehen, wie oft eine Zeile abgedeckt ist und alle Tests, die sie aufrufen.