Vorschläge für die automatisierte Codeabdeckung für eine Eclipse RCP? [geschlossen]
-
08-07-2019 - |
Frage
Ich möchte einige Code-Coverage in unseren nächtlichen Build-Prozess einzubeziehen. Wir verwenden CruiseControl-, Ant und Buckminster. Buckminster treibt Kasse aus mehreren Repositorys und die PDE-Gebäude und Verpackung des Produkts.
hat jemand keine Erfahrung Codeabdeckung in eine RCP ohne Kopf Build zu integrieren?
Ich habe bei Cobertura, EMMA / EclEMMA, DbUnit suchen, obwohl ich sehr interessiert an irgendwelche Erfahrungen mit diesem oder anderen Werkzeugen zu hören.
Lösung
Cobertura schien in der Lage zu sein, die Arbeit für uns zu tun.
Sobald die Unit-Tests ausgeführt wurden (eine Frage ganz für sich), konnte ich:
- Instrument des Bündel als Standalone-Gläser. die Unit-Tests mit einem cobertura auf dem übergeordneten Klassenladeklassenpfad
- re-run.
Der Trick hier ist osgi.parentClassloader=app
in der config.ini-Datei verwenden verwendet, um das Gerät zu testen auszuführen.
-
ext
== Java-Erweiterungen -
boot
== der Bootloader-Klasse (Standard) -
fwk
== Rahmen? -
app
== Anwendung, das heißt wie eine normale Anwendung, mit einem Classpath auf der Befehlszeile angegeben.
Der instrumentierte Code benötigte Laufzeit Zugriff auf das cobertura Glas, so dass dieser letzte Schritt war zwingend notwendig.
Andere Tipps
EclEmma hat nun eine zusätzliche Komponente "EclEmma Equinox Runtime" genannt, die ohne Kopf Code-Coverage-Analyse für alle OSGi / Equinox-Anwendung bietet: