Ich möchte die Codeabdeckung von Integrationstests mit den JaCoCo und den Sonar-Tools messen.
Dafür starte ich meinen mit dem JaCoCo-Agenten konfigurierten Tomcat 5.5, um die Dump-Datei von JaCoCo zu holen.
Also setze ich die JAVA_OPTS
dafür:
Wenn ich Tomcat starte, wird die Datei C:\dev\servers\jacoco.exec
generiert, aber es sind keine Daten vorhanden.
Gibt es etwas, das ich in der Konfiguration meines Servers vergessen habe?
Grüße.
Mir ist klar, dass dies vor zwei Jahren noch nicht möglich war, wenn Sie diese Frage gestellt haben, aber Sie haben jetzt einige andere Optionen, um die JaCoCo-Ausführungsdaten abzurufen, ohne Tomcat herunterzufahren (oder eine JVM-Instrumentierung mit dem JaCoCo-Java-Agent). .
Sehen Sie sich zuerst die aktuelle Dokumentation für den JaCoCo Java Agent an: Ссылка
Sie können die Option output = tcpserver auf dem JaCoCo-Agenten verwenden, damit der Java-Agent auf Befehle wartet. Sie können address = * setzen, damit der tcpserver alle Interfaces überwacht, und Sie können das port = 6300 Argument setzen, um den Port auszuwählen, auf dem der tcpserver warten soll.
Über den tcpserver kann der JaCoCo Java Agent angewiesen werden, Ihnen die Daten zu senden, wann immer Sie danach fragen.
Wenn Ihre JVM gerade JMX aussetzt, haben Sie eine andere Option, die Sie verwenden können, ohne zusätzliche Ports zu öffnen. Wenn Sie die Option jmx = true setzen, stellt der JaCoCo-Java-Agent eine MBean zur Verfügung, mit der Sie interagieren können.
Wenn Sie maven verwenden, können Sie sich das Plugin ansehen, das ich kürzlich geschrieben habe, um JaCoCo-Daten von entfernten JVMs während des Laufens zu sammeln. Das Projekt für das Plugin befindet sich unter: Ссылка