A sample multi-modular maven project demonstrating how to met coverage for unit, integration and/or functional testing withing different modules. The test results is aggregated by Jacoco plugin and a merged code coverage report is being generated. The detailed blog and instructions of the project is described in blog.
Jacoco data file location - baseDir / module3 / target / aggregate.exec
Jacoco report location - baseDir / module3 / target / site / jacoco-aggregate / index.html
- Unit testing + jacoco reporting. Note: Set a lower Coverage ratio in pom.xml
$ mvn clean install
- Integration testing + jacoco reporting. Note: Set a lower Coverage ratio in pom.xml
$ mvn clean install -P integration-test
-Unit + Integration testing + jacoco merged reporting.
$ mvn clean install -P testAll
Note: You may add additional configuration for jacoco and control the behaviour. For additional configuration details visit here.
The below test coverage report shows coverage for testAll
profile.
The other important point to consider here is we have tried to increase the coverage of module1 method concatenation
from module3 by running cucumber tests. Cucumber tests can easily be replaced by any other functional test frameworks like Karate API Testing Framework.