Hi, from JaCoCo documenation:
JaCoCo tracks execution with so called /probes/. Probes are additional byte code instructions inserted in the original class file which will note when they are executed and report this to the JaCoCo runtime. This process is called /instrumentation/. To keep the runtime overhead minimal, only a few probes are inserted at "strategic" places. These probe positions are determined by analyzing the control flow <http://eclemma.org/jacoco/trunk/doc/flow.html> of all methods of a class. As a result every instrumented class produces a list of |n| boolean flags indicating whether the probe has been executed or not. A JaCoCo |*.exec| file simply stores a boolean array per class id. At analysis time, for example for report generation, the |*.exec| file is used to get information about probe execution status. But as probes are stored in a plain boolean array there is no information like corresponding methods or lines. To retrieve this information we need the original class files and perform the exact same control flow analysis than at instrumentation time. Because this is a deterministic process we get the same probe positions. With this information we can now interfere the execution status of every single instruction and branch of a method. Using the debug information embedded in the class files we can also calculate line coverage. Regards, -marc On 25.05.16 22:29, [email protected] wrote:
Ok thanks I got this working actually I don't completely understand why the report goal requires the classes, could you tell me? http://stackoverflow.com/questions/37410322/code-coverage-in-maven-build-skipping-jacoco-execution-due-to-missing-classes I posted the above asking for help but managed to get something working by copying the classes which are exploded into the cargo directory when tomcat deploys my war during the build of my integration test module. It seems a bit 'hacky' but it seems to pick up coverage driven from my selenium tests against my front end web app.
-- You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/57461388.2060303%40mountainminds.com. For more options, visit https://groups.google.com/d/optout.
