2010-12-28 11 views
0

Ich versuche, einen Windows-Dienst mit Cobertura auszuführen. Das einzige Problem ist, dass cobertura Ergebnisse meldet, wenn der Shutdown-Hook ausgeführt wird. Ich bin nicht in der Lage, den Code für diese Ergebnisse direkt zu ändern, also habe ich mich gefragt, ob es möglich ist, eine Java-Anwendung als Windows-Dienst auszuführen und noch Cobertura-Ergebnisse zu sammeln. Ich instrumentiere den Code, füge ihn dem Klassenpfad hinzu, aber wenn ich berichte, bekomme ich nichts. Beim Anzeigen einer Trace-Datei können keine Covertura-Informationen geladen/gespeichert werden. Das führt mich zu der Annahme, dass Shutdown-Hooks nie ausgeführt werden, sonst würde ich Ergebnisse bekommen.Ausführen eines Windows-Dienstes und Cobertura

Danke für die Hilfe!

Antwort

0

Sie können stattdessen Emma sehen, es ermöglicht Ihnen, im Voraus zu instrumentieren.

http://emma.sourceforge.net/

Wenn Cobertura verwenden, erhalten Sie überhaupt eine SER-Datei?

Ich nehme an, dass Sie den Code nicht zwicken können, um einen Export zu erzwingen, wie am Ende dieser FAQ gezeigt?

http://cobertura.sourceforge.net/faq.html

+0

Ich kann die SER-Datei erzeugen, und die gesamten Code wird korrekt instrumentiert. Das einzige Problem ist, wenn ich scy Start MYSERVICE und einmal mache ich ein paar Elemente, und schließlich sc stoppen MYSERVICE wird es enden, aber es wird scheitern, Informationen zu speichern. Ich habe versucht, mit der SC-Steuerung ein Kontrollzeichen zu senden, weiß aber nicht, wie ich das machen soll. Ich kann auch keinen Export erzwingen. :(. Weißt du, dass ich diesen Export erzwingen kann, oder erzwinge Ergebnisse, ohne Änderungen an meinem Code vorzunehmen? – Steve