Generating Code Coverage Reports for System Tests with Quarkus 📎
@Path("/hello")
public class GreetingResource {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "Hello RESTEasy";
    }
    @POST
    @Consumes(MediaType.TEXT_PLAIN)
    public void sayHello(String message) {
        System.out.println(message);
    }    
}
add the following dependency to your pom.xml (use the latest jacoco version):
<dependency>
    <groupId>org.jacoco</groupId>
    <artifactId>org.jacoco.agent</artifactId>
    <classifier>runtime</classifier>
    <version>0.8.8</version>
    <scope>test</scope>
</dependency>
Now you build quarkus with the regular maven command: mvn clean package, then launch the app with:
java -javaagent:${HOME}/.m2/repository/org/jacoco/org.jacoco.agent/0.8.8/org.jacoco.agent-0.8.8-runtime.jar=destfile=./target/jacoco.exec,exclclassloader=*QuarkusClassLoader
                        -jar target/quarkus-app/quarkus-run.jar
All interactions with the app are recorded now.
Perform: curl localhost:8080/hello and shutdown
quarkus.
    To generate a html report, perform: mvn org.jacoco:jacoco-maven-plugin:0.8.8:report
    The report is available from: target/site/jacoco/index.html. Because we only executed the
    @GET / hello() method, our code coverage amounts to 55%.
| Element | Missed Instructions | Cov. | Missed Branches | Cov. | Missed | Cxty | Missed | Lines | Missed | Methods | 
| Total | 4 of 9 | 55 % | 0 of 0 | n/a | 1 | 3 | 2 | 4 | 1 | 3 | 
| sayHello(String) | 0 % | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| GreetingResource() | 100 % | n/a | 0 | 1 | 0 | 1 | 0 | 1 | ||
| hello() | 100 % | n/a | 0 | 1 | 0 | 1 | 0 | 1 |