Vă mulțumim pentru susținere

Cum să începeți să scrieți un instrument de acoperire a codului?

Căutați cărți sau alte referințe care discută efectiv cum să scrieți un instrument de acoperire a codului în Java; unele dintre diferitele tehnici sau trucuri - sursă vs. instrument de cod byte.

Acesta este un limbaj de scripting care generează codul de octet Java sub capotă.

0
adăugat editat

3 răspunsuri

Daca vorbesti despre ColdFusion (care presupun ca esti de la tag-uri) atunci nu sunt sigur ca acest lucru este posibil, dar s-ar putea sa fiu foarte gresit aici ...

IIRC, atunci când CF compilează în esență compilează într-o formă interpretată a CFML ca un fișier simplu source java, acesta este apoi compilat în clasă. Prin urmare, orice instrumentație pe care o aveți poate aplica versiunii intermediare, mai degrabă decât CFML în sine.

Spunând că, deși Adobe are acum programul de depanare a CF, care poate trece prin cod, așa că vă rog să mă dovedească greșit - mi-ar plăcea acoperirea codului în CFML.

0
adăugat
Vedeți răspunsul meu despre "Sfera de acoperire a limbilor arbitrare ușoară". Instrumentarea directă a codului CFML și apoi compilarea acestuia în Java ar oferi totuși date de acoperire a testelor direct pentru CFML. (Construiesc instrumente de acoperire a testelor pentru un trai).
adăugat autor Ira Baxter
Despre ce e vorba? Rancho cod de acoperire pentru ColdFusion kunalsaini.blogspot.in/2012 / 05 / & hellip;
adăugat autor J.T.

Se generează limba dvs. de scripting bytecode? Generează metadate de depanare? Dacă este așa, instrumentația bytecode este probabil calea de urmat. De fapt, instrumentele existente vor funcționa probabil; probabil cu modificări minime (problema tipică este că instrumentele sunt scrise pentru a lucra cu Java și presupun că com.foo.Bar.class corespunde com / foo / Bar.java.) EMMA este un ClassLoader care redactează codul de cod pentru colectarea de coduri în Java. Stilul de codare este puțin funky, dar vă recomand să citiți sursa pentru câteva idei.

Dacă limbajul dvs. de scripting este interpretat, atunci veți avea nevoie de ceva de nivel superior (nivelul sursă) care se încarcă în interpret.

0
adăugat

S-ar putea să doriți, de asemenea, să utilizați ceva de genul BCEL pentru a analiza care linii de sursă există de fapt în codul octet. Nu doriți să raportați că lucruri precum linii goale și comentarii nu au fost acoperite.

0
adăugat
Aceasta nu este o idee bună decât dacă numerele de linie din BCEL se potrivesc exact cu cele ale DSL ale OP. Dacă nu, primiți acoperire pe liniile sursă "greșite".
adăugat autor Ira Baxter