@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, skipMojoexecute, getExcludes, getIncludes, getProjectCopyright © 2024. All rights reserved.