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.

War es hilfreich?

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:

http://www.eclemma.org/devdoc/headless.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top