@Mojo(name="prepare-agent", defaultPhase=INITIALIZE, requiresDependencyResolution=RUNTIME, threadSafe=true) public class AgentMojo extends AbstractAgentMojo
Prepares a property pointing to the JaCoCo runtime agent that can be passed as a VM argument to the application under test. Depending on the project packaging type by default a property with the following name is set:
If your project already defines VM arguments for test execution, be sure that they will include property defined by JaCoCo.
One of the ways to do this in case of maven-surefire-plugin - is to use syntax for late property evaluation:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>@{argLine} -your -extra -arguments</argLine> </configuration> </plugin>
You can define empty property to avoid JVM startup error Could not find or load main class @{argLine}
when using late property evaluation and jacoco-maven-plugin not executed.
Another way is to define "argLine" as a Maven property rather than as part of the configuration of maven-surefire-plugin:
<properties> <argLine>-your -extra -arguments</argLine> </properties> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <!-- no argLine here --> </configuration> </plugin>
Resulting coverage information is collected during execution and by default written to a file when the process terminates.
Constructor and Description |
---|
AgentMojo() |
executeMojo, skipMojo
execute, getExcludes, getIncludes, getProject
Copyright © 2022. All rights reserved.