Wie begann Werkzeug eines Code-Coverage zu schreiben?

stimmen
20

Such nach Büchern oder anderen Referenzen , die tatsächlich zu diskutieren , wie ein Code - Coverage - Tool in Java zu schreiben; einige der verschiedenen Techniken oder Tricks - Quelle vs. Bytecode Instrumentierung.

Dies ist für eine Skriptsprache, die Java-Bytecode unter der Haube erzeugt.

Veröffentlicht am 05/08/2008 um 12:15
quelle vom benutzer
In anderen Sprachen...                            


5 antworten

stimmen
7

Ist Ihre Skriptsprache Bytecode Erzeugungs? Ist es Debug - Metadaten generieren? Wenn ja, ist Bytecode Instrumentierung wahrscheinlich der Weg zu gehen. In der Tat mögen vorhandene Tools wahrscheinlich funktionieren werden; vielleicht mit minimalen Änderungen (das typische Problem ist , die Werkzeuge geschrieben mit Java zu arbeiten und übernehmen com.foo.Bar.class entspricht com / foo / Bar.java. diese Annahme Abwickeln kann langwierig sein.) EMMA ist ein Classloader , das tut Byte-Code neu zu schreiben für Code-Coverage - Sammlung in Java. Die Codierung Stil ist ein wenig flippig, aber ich empfehle die Quelle für einige Ideen zu lesen.

Wenn Ihre Skriptsprache interpretiert wird, dann werden Sie etwas höherer Ebene (Quelle Ebene) müssen die in den Interpreter hakt.

Beantwortet am 10/08/2008 um 08:19
quelle vom benutzer

stimmen
2

Wenn Sie sprechen von Coldfusion (die ich nehme an, Sie von den Tags sind), dann bin ich nicht sicher, ob dies machbar ist, aber ich kann sehr falsch hier ...

IIRC, wenn CF kompiliert kompiliert es im Wesentlichen in eine interpretierte Form des CFML als einfache alte Java-Quelldatei wird diese dann in die Klasse zusammengestellt. Daher wird jede Instrumentierung, die Sie dem Vermittler Version kann statt der CFML selbst gelten.

Zu sagen, dass obwohl, Adobe die CF-Debugger jetzt bekommen haben, was allerdings Code Schritt kann, so beweisen Sie mich nicht falsch - ich würde Codeabdeckung in CFML lieben.

Beantwortet am 06/11/2008 um 00:48
quelle vom benutzer

stimmen
2

Man könnte auch so etwas wie BCEL verwenden möchten, um zu analysieren, welche Zeilen der Quelle existieren tatsächlich in der Byte-Code. Sie wollen nicht berichten, dass Dinge wie Leerzeilen und Kommentare sind nicht abgedeckt.

Beantwortet am 15/09/2008 um 19:36
quelle vom benutzer

stimmen
2

Thxm, Mc! http://asm.objectweb.org / ist ein anderes. Hervorragende Dokumentation auf Byte - Code - Instrumentierung, aber nichts „direkt“ sollte ein Coverage Tool zu schreiben - nur ein paar Hinweise oder Ideen.

Beantwortet am 05/08/2008 um 13:50
quelle vom benutzer

stimmen
1

Sie können auch die Quelle von einem Open-Source-Code-Coverage-Tool bekommen und daraus lernen.

Beantwortet am 12/08/2008 um 18:58
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more