Alla fragment som du definierar kräver en typspecifikation. Typen indikerar om fragmentet körs i målmetoderna. En prob kan innehålla flera fragment, men bara en fragmenttyp.
Fragmenttyp | Metod eller Callsite | Beskrivning |
---|---|---|
entry | Metod | entry-fragment kör vid metodstart. entry-fragment körs inte för metoder som infogats i klassen med Probekit. |
exit | Metod | exit-fragment körs vid metodavslut: vid normalt avslut, när metoden genererar ett undantag eller när undantaget fortskrider utanför metoden. exit-fragment körs inte för metoder som infogats i klassen med Probekit. |
catch | Metod | catch-fragment körs i början av catch-satsdelen i metoden, eller i början av en finally-satsdel som körs på grund av ett undantag. |
staticInitializer | Metod | staticInitializer-fragment körs inuti klassinitieraren för alla klasser där proben körs. Om det inte redan finns en statisk initieringsfunktion för klassen skapas en. Mer information finns i Probfragmenttypen staticInitializer. |
executableUnit | Metod | executableUnit-fragment körs före varje körbar kodenhet i metoder som överensstämmer med probens mål- och filterspecifikationer, och som har tillgänglig källkod. Om det inte finns någon källkodsinformation i metoden visas den som en enstaka körbar enhet med nummer noll. Mer information finns i executableUnit-probfragmenttypen. |
beforeCall | Callsite | beforeCall-fragment körs i den anropande metoden omedelbart före den målmetod som anropas. Ej giltigt för metodprober. |
afterCall | Callsite | afterCall-fragment körs i den anropande metoden omedelbart efter att målmetoden avslutas: antingen vid normalt avslut eller när målmetoden genererar ett undantag. Ej giltigt för metodprober. |
En prob kan ha fler fragment som gäller samma plats i en metod: exempelvis ett entry-fragment och den första executableUnit-platsen. Ett annat exempel är ett catch-fragment och dess associerade executableUnit-plats, eftersom catch-satsdelar för undantagshantering alltid representerar början på en ny körbar enhet. I de här fallen körs executableUnit-fragmentkoden efter entry- eller catch-fragmentets kod. En konsekvens är att entry-fragmenten, om sådana finns, alltid körs före andra typer av fragment.
Du kan inte blanda metod- och Callsite-fragment i en enda prob, men du ha kan metod- och Callsite-prober i samma Probekit-källfil (.probe-fil).
Om du vill ange en fragmenttyp markerar du en Fragment-post i trädfönstret på sidan Prober och väljer i listan över fragmenttyper i redigeringsfönstret.